Class: SchemaDev::Gem::TemplateEnv

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/schema_dev/gem.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(gem) ⇒ TemplateEnv

Returns a new instance of TemplateEnv.



25
26
27
# File 'lib/schema_dev/gem.rb', line 25

def initialize(gem)
  @gem = gem
end

Class Method Details

.schema_plus_core_versionObject



45
46
47
48
49
50
51
52
# File 'lib/schema_dev/gem.rb', line 45

def self.schema_plus_core_version
  @schema_plus_core_version ||=
    begin
      gems = JSON.parse Faraday.get('https://rubygems.org/api/v1/versions/schema_plus_core.json').body
      last = gems.reject { |e| e['prerelease'] }.max_by { |e| e['number'].split('.') }
      last['number']
    end
end

Instance Method Details

#_dependency(version) ⇒ Object



54
55
56
57
58
59
# File 'lib/schema_dev/gem.rb', line 54

def _dependency(version)
  major, minor, patch = version.split('.')
  dep = %('~> #{major}.#{minor}')
  dep += %(, '>= #{version}') if patch != '0'
  dep
end

#get_bindingObject



41
42
43
# File 'lib/schema_dev/gem.rb', line 41

def get_binding
  binding
end

#schema_dev_dependencyObject



33
34
35
# File 'lib/schema_dev/gem.rb', line 33

def schema_dev_dependency
  _dependency(SchemaDev::VERSION)
end

#schema_plus_core_dependencyObject



29
30
31
# File 'lib/schema_dev/gem.rb', line 29

def schema_plus_core_dependency
  _dependency(self.class.schema_plus_core_version)
end

#yearObject



37
38
39
# File 'lib/schema_dev/gem.rb', line 37

def year
  Time.now.strftime('%Y')
end