Class: PuppetLibrary::Forge::ModuleMetadata

Inherits:
Object
  • Object
show all
Defined in:
lib/puppet_library/forge/abstract.rb

Instance Method Summary collapse

Constructor Details

#initialize(metadata) ⇒ ModuleMetadata

Returns a new instance of ModuleMetadata.



115
116
117
# File 'lib/puppet_library/forge/abstract.rb', line 115

def initialize()
    @metadata = 
end

Instance Method Details

#authorObject



119
120
121
# File 'lib/puppet_library/forge/abstract.rb', line 119

def author
    @metadata["name"][/^[^-]+/]
end

#dependenciesObject



135
136
137
# File 'lib/puppet_library/forge/abstract.rb', line 135

def dependencies
    @metadata["dependencies"]
end

#dependency_namesObject



151
152
153
# File 'lib/puppet_library/forge/abstract.rb', line 151

def dependency_names
    dependencies.map {|d| d["name"]}
end

#descriptionObject



143
144
145
# File 'lib/puppet_library/forge/abstract.rb', line 143

def description
    @metadata["description"]
end

#full_nameObject



127
128
129
# File 'lib/puppet_library/forge/abstract.rb', line 127

def full_name
    @metadata["name"].sub("-", "/")
end

#nameObject



123
124
125
# File 'lib/puppet_library/forge/abstract.rb', line 123

def name
    @metadata["name"].sub(/^[^-]+-/, "")
end

#project_pageObject



147
148
149
# File 'lib/puppet_library/forge/abstract.rb', line 147

def project_page
    @metadata["project_page"]
end

#summaryObject



139
140
141
# File 'lib/puppet_library/forge/abstract.rb', line 139

def summary
    @metadata["summary"]
end

#to_infoObject



155
156
157
158
159
160
161
162
163
# File 'lib/puppet_library/forge/abstract.rb', line 155

def to_info
    {
        "author" => author,
        "full_name" => full_name,
        "name" => name,
        "desc" => description,
        "releases" => [ { "version" => version } ]
    }
end

#to_search_resultObject



175
176
177
178
179
180
181
182
183
184
185
186
# File 'lib/puppet_library/forge/abstract.rb', line 175

def to_search_result
    {
        "author" => author,
        "full_name" => full_name,
        "name" => name,
        "desc" => summary,
        "project_url" => project_page,
        "releases" => [{ "version" => version}],
        "version" => version,
        "tag_list" => [author, name]
    }
end

#to_versionObject



165
166
167
168
169
170
171
172
173
# File 'lib/puppet_library/forge/abstract.rb', line 165

def to_version
    {
        "file" => "/modules/#{author}-#{name}-#{version}.tar.gz",
        "version" => version,
        "dependencies" => dependencies.map do |dependency|
            [ dependency["name"], dependency["version_requirement"] ]
        end
    }
end

#versionObject



131
132
133
# File 'lib/puppet_library/forge/abstract.rb', line 131

def version
    @metadata["version"]
end