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.



23
24
25
# File 'lib/schema_dev/gem.rb', line 23

def initialize(gem)
  @gem = gem
end

Class Method Details

.schema_plus_core_versionObject



43
44
45
46
47
48
# File 'lib/schema_dev/gem.rb', line 43

def self.schema_plus_core_version
  @core_version ||= begin
                      gems = JSON.parse Faraday.get('https://rubygems.org/api/v1/versions/schema_plus_core.json').body
                      gems.reject(&it["prerelease"]).sort_by(&it["number"].split('.')).last["number"]
                    end
end

Instance Method Details

#_dependency(v) ⇒ Object



50
51
52
53
54
55
# File 'lib/schema_dev/gem.rb', line 50

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

#get_bindingObject



39
40
41
# File 'lib/schema_dev/gem.rb', line 39

def get_binding
  binding
end

#schema_dev_dependencyObject



31
32
33
# File 'lib/schema_dev/gem.rb', line 31

def schema_dev_dependency
  _dependency(SchemaDev::VERSION)
end

#schema_plus_core_dependencyObject



27
28
29
# File 'lib/schema_dev/gem.rb', line 27

def schema_plus_core_dependency
  _dependency(self.class.schema_plus_core_version)
end

#yearObject



35
36
37
# File 'lib/schema_dev/gem.rb', line 35

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