Class: Rails::Generators::AppBase::GemfileEntry

Inherits:
Struct show all
Defined in:
railties/lib/rails/generators/app_base.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Struct

#as_json

Constructor Details

#initialize(name, version, comment, options = {}, commented_out = false) ⇒ GemfileEntry

Returns a new instance of GemfileEntry.


251
252
253
# File 'railties/lib/rails/generators/app_base.rb', line 251

def initialize(name, version, comment, options = {}, commented_out = false)
  super
end

Class Method Details

.floats(name, comment = nil) ⇒ Object


267
268
269
# File 'railties/lib/rails/generators/app_base.rb', line 267

def self.floats(name, comment = nil)
  new(name, nil, comment)
end

.github(name, github, branch = nil, comment = nil) ⇒ Object


255
256
257
258
259
260
261
# File 'railties/lib/rails/generators/app_base.rb', line 255

def self.github(name, github, branch = nil, comment = nil)
  if branch
    new(name, nil, comment, github: github, branch: branch)
  else
    new(name, nil, comment, github: github)
  end
end

.path(name, path, comment = nil) ⇒ Object


271
272
273
# File 'railties/lib/rails/generators/app_base.rb', line 271

def self.path(name, path, comment = nil)
  new(name, nil, comment, path: path)
end

.version(name, version, comment = nil) ⇒ Object


263
264
265
# File 'railties/lib/rails/generators/app_base.rb', line 263

def self.version(name, version, comment = nil)
  new(name, version, comment)
end

Instance Method Details

#to_sObject


275
276
277
278
279
280
281
282
283
# File 'railties/lib/rails/generators/app_base.rb', line 275

def to_s
  [
    (comment.gsub(/^/, "# ").chomp + "\n" if comment),
    ("# " if commented_out),
    "gem \"#{name}\"",
    *Array(version).map { |constraint| ", \"#{constraint}\"" },
    *options.map { |key, value| ", #{key}: #{value.inspect}" },
  ].compact.join
end