Class: Neovim::Meta

Inherits:
Object show all
Defined in:
lib/neovim/meta.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, **params) ⇒ Meta

Returns a new instance of Meta.



9
10
11
# File 'lib/neovim/meta.rb', line 9

def initialize name, **params
  @name, @params = name, params
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



13
14
15
# File 'lib/neovim/meta.rb', line 13

def name
  @name
end

Instance Method Details

#attributesObject



47
48
49
50
51
52
# File 'lib/neovim/meta.rb', line 47

def attributes
  {
    website: @params[ :homepage],
    license: @params[ :license ],
  }
end

#mk_gemspec(spec) ⇒ Object



55
56
57
58
59
60
61
62
63
# File 'lib/neovim/meta.rb', line 55

def mk_gemspec spec
  spec.name          = @name
  spec.version       = @params[:version ]
  spec.authors       = @params[:authors ]
  spec.email         = @params[:email   ]
  spec.summary       = @params[:summary ]
  spec.homepage      = @params[:homepage]
  spec.license       = @params[:license ]
end

#version_aObject



43
44
45
# File 'lib/neovim/meta.rb', line 43

def version_a
  version_h.values_at :major, :minor, :patch, :prerelease
end

#version_hObject



32
33
34
35
36
37
38
39
40
41
# File 'lib/neovim/meta.rb', line 32

def version_h
  @params[ :version] =~ /\Av?(\d+)(?:\.(\d+)(?:\.(\d+)))(?:-(.*))?\z/
  {
    major:      $1,
    minor:      $2,
    patch:      $3,
    prerelease: $4,
    commit:     @params[ :commit],
  }
end