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.



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

def initialize()
    @metadata = 
end

Instance Method Details

#authorObject



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

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

#dependenciesObject



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

def dependencies
    @metadata["dependencies"]
end

#dependency_namesObject



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

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

#descriptionObject



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

def description
    @metadata["description"]
end

#full_nameObject



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

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

#nameObject



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

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

#project_pageObject



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

def project_page
    @metadata["project_page"]
end

#summaryObject



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

def summary
    @metadata["summary"]
end

#to_infoObject



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

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

#to_search_resultObject



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

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



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

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



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

def version
    @metadata["version"]
end