Class: Yoda::Store::Objects::ProjectStatus::GemStatus

Inherits:
Object
  • Object
show all
Includes:
Serializable
Defined in:
lib/yoda/store/objects/project_status.rb

Overview

Remember each gem state

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Serializable

#derive, included, #to_json

Constructor Details

#initialize(name:, version:, present:) ⇒ GemStatus

Returns a new instance of GemStatus.

Parameters:

  • name (String)
  • version (String)
  • present (true, false)

    represents the flag if the specified gem’s index file is present.



151
152
153
154
155
# File 'lib/yoda/store/objects/project_status.rb', line 151

def initialize(name:, version:, present:)
  @name = name
  @version = version
  @present = present
end

Instance Attribute Details

#nameString (readonly)

Returns:

  • (String)


137
138
139
# File 'lib/yoda/store/objects/project_status.rb', line 137

def name
  @name
end

#presenttrue, false (readonly)

Returns:

  • (true, false)


140
141
142
# File 'lib/yoda/store/objects/project_status.rb', line 140

def present
  @present
end

#versionString (readonly)

Returns:

  • (String)


137
138
139
# File 'lib/yoda/store/objects/project_status.rb', line 137

def version
  @version
end

Class Method Details

.initial_build(gem) ⇒ GemStatus

Parameters:

  • gem (Bundler::LazySpecification)

Returns:



144
145
146
# File 'lib/yoda/store/objects/project_status.rb', line 144

def self.initial_build(gem)
  new(name: gem.name, version: gem.version, present: false)
end

Instance Method Details

#present?true, false

Returns:

  • (true, false)


162
163
164
# File 'lib/yoda/store/objects/project_status.rb', line 162

def present?
  !!present
end

#to_hObject



157
158
159
# File 'lib/yoda/store/objects/project_status.rb', line 157

def to_h
  { name: name, version: version, present: present }
end