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.



111
112
113
# File 'lib/puppet_library/forge/abstract.rb', line 111

def initialize()
    @metadata = 
end

Instance Method Details

#authorObject



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

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

#dependenciesObject



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

def dependencies
    @metadata["dependencies"]
end

#dependency_namesObject



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

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

#descriptionObject



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

def description
    @metadata["description"]
end

#full_nameObject



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

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

#nameObject



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

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

#project_pageObject



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

def project_page
    @metadata["project_page"]
end

#summaryObject



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

def summary
    @metadata["summary"]
end

#to_infoObject



151
152
153
154
155
156
157
158
159
# File 'lib/puppet_library/forge/abstract.rb', line 151

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

#to_search_resultObject



171
172
173
174
175
176
177
178
179
180
181
182
# File 'lib/puppet_library/forge/abstract.rb', line 171

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



161
162
163
164
165
166
167
168
169
# File 'lib/puppet_library/forge/abstract.rb', line 161

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



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

def version
    @metadata["version"]
end