Class: MrbgemData

Inherits:
Object
  • Object
show all
Defined in:
lib/mgem.rb

Instance Method Summary collapse

Constructor Details

#initialize(gem_data) ⇒ MrbgemData

Returns a new instance of MrbgemData.



50
51
52
# File 'lib/mgem.rb', line 50

def initialize(gem_data)
  @gem_data = gem_data
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_name) ⇒ Object



81
82
83
84
# File 'lib/mgem.rb', line 81

def method_missing(method_name)
  err = "Mrbgem Field \"#{method_name}\" doesn't exist!"
  raise ArgumentError.new err
end

Instance Method Details

#authorObject



74
# File 'lib/mgem.rb', line 74

def author; @gem_data["author"]; end

#dependenciesObject



79
# File 'lib/mgem.rb', line 79

def dependencies; @gem_data['dependencies']; end

#descriptionObject



73
# File 'lib/mgem.rb', line 73

def description; @gem_data["description"]; end

#nameObject

list of GEM properties



72
# File 'lib/mgem.rb', line 72

def name; @gem_data["name"]; end

#protocolObject



76
# File 'lib/mgem.rb', line 76

def protocol; @gem_data["protocol"]; end

#repooptionsObject



78
# File 'lib/mgem.rb', line 78

def repooptions; @gem_data["repooptions"]; end

#repositoryObject



77
# File 'lib/mgem.rb', line 77

def repository; @gem_data["repository"]; end

#search(pattern, *fields) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/mgem.rb', line 54

def search(pattern, *fields)
  fields.flatten!
  if fields == []
    fields = [:name, :description]
  elsif not fields.respond_to? :each
    fields = [fields]
  end
  fields.to_a.each do |field|
    if self.send(field) =~ /#{pattern}/i
      return true   
    end
  end

  return false
end

#websiteObject



75
# File 'lib/mgem.rb', line 75

def website; @gem_data["website"]; end