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.



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

def initialize()
    @metadata = 
end

Instance Method Details

#authorObject



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

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

#dependenciesObject



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

def dependencies
    @metadata["dependencies"]
end

#dependency_namesObject



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

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

#descriptionObject



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

def description
    @metadata["description"]
end

#full_nameObject



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

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

#nameObject



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

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

#project_pageObject



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

def project_page
    @metadata["project_page"]
end

#summaryObject



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

def summary
    @metadata["summary"]
end

#to_infoObject



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

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

#to_search_resultObject



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

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



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

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



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

def version
    @metadata["version"]
end