module Kamaze::Project::Tools::Gemspec::Concern::Reading

Provides gemspec reader

Base objects using a “gemspec“ to obtain specification

@see Kamaze::Project::Tools::Gemspec::Reader

Public Class Methods

included(base) click to toggle source
# File lib/kamaze/project/tools/gemspec/concern/reading.rb, line 18
    def included(base)
      return if base.respond_to?(:'gemspec_reader=')

      base.class_eval <<-"ACCESSORS", __FILE__, __LINE__ + 1
        attr_writer :gemspec_reader
      ACCESSORS
    end

Protected Instance Methods

gemspec_reader() click to toggle source

@return [Kamaze::Project::Tools::Gemspec::Reader]

# File lib/kamaze/project/tools/gemspec/concern/reading.rb, line 30
def gemspec_reader
  @gemspec_reader ||= Kamaze::Project.instance.tools.fetch(:gemspec_reader)
end
specification() click to toggle source

Get specification

@return [Gem::Specification]

# File lib/kamaze/project/tools/gemspec/concern/reading.rb, line 37
def specification
  specification = gemspec_reader.read

  specification.define_singleton_method(:'ready?') do
    gemspec_reader.read(Hash).include?(:full_name)
  end

  specification
end