Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 67d4144

Browse files
authoredApr 12, 2018
Merge pull request #75 from walkamongus/master
Add url helper to internal route links
2 parents 459cbb1 + 099f7b3 commit 67d4144

File tree

5 files changed

+26
-20
lines changed

5 files changed

+26
-20
lines changed
 

‎lib/puppet_forge_server/app/frontend.rb

+6-6
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def initialize(root, http_client = PuppetForgeServer::Http::HttpClient.new)
4848
halt(400, haml(:security, :locals => {:query => query})) \
4949
unless safe_input? query
5050

51-
modules = get("#{request.base_url}/v3/modules?query=#{query}")['results']
51+
modules = get("/v3/modules?query=#{query}")['results']
5252
haml :modules, :locals => {:query => query, :modules => modules}
5353
end
5454

@@ -57,20 +57,20 @@ def initialize(root, http_client = PuppetForgeServer::Http::HttpClient.new)
5757
halt(400, haml(:security, :locals => {:query => module_v3_name})) \
5858
unless safe_input? module_v3_name
5959

60-
releases = get("#{request.base_url}/v3/modules/#{module_v3_name}")['releases']
60+
releases = get("/v3/modules/#{module_v3_name}")['releases']
6161
if params.has_key? 'version'
6262
module_uri = releases.find {|r| r['version'] == params['version']}['uri']
63-
module_metadata = get("#{request.base_url}#{module_uri}")
63+
module_metadata = get("#{module_uri}")
6464
else
65-
module_metadata = get("#{request.base_url}#{releases[0]['uri']}")
65+
module_metadata = get("#{releases[0]['uri']}")
6666
end
6767
begin
6868
readme_markdown = markdown(module_metadata['readme'])
6969
rescue
7070
readme_markdown = ''
7171
end
7272
haml :module, :locals => { :module_metadata => module_metadata,
73-
:base_url => request.base_url,
73+
:base_url => url(request.base_url),
7474
:readme_markdown => readme_markdown,
7575
:releases => releases }
7676
end
@@ -88,7 +88,7 @@ def initialize(root, http_client = PuppetForgeServer::Http::HttpClient.new)
8888
private
8989
def get(relative_url)
9090
begin
91-
JSON.parse(@http_client.get(relative_url))
91+
JSON.parse(@http_client.get(url(relative_url)))
9292
rescue
9393
{'results' => []}
9494
end

‎lib/puppet_forge_server/app/views/layout.haml

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
%title Internal Puppet Forge
2222
-# Latest compiled and minified CSS
2323
%link{ :href => 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css', :type => 'text/css', :rel => 'stylesheet' }
24-
%link{ :href => 'css/puppetlabs.css', :type => 'text/css', :rel => 'stylesheet' }
24+
%link{ :href => url('css/puppetlabs.css'), :type => 'text/css', :rel => 'stylesheet' }
2525
-#%link{ :href => 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css', :type => 'text/css', :rel => 'stylesheet' }
2626
/[if lt IE 9]
2727
%script{:src => 'https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js'}
@@ -49,7 +49,7 @@
4949
.side-width.clearfix
5050
%a{:href => url('/')}
5151
#logo
52-
%img.logo{ :src => 'img/forge-logo.png', :height => 65}
52+
%img.logo{ :src => url('img/forge-logo.png'), :height => 65}
5353
%span.logo.puppet= 'Puppet Forge'
5454
%span.logo.forge= 'Server'
5555
.top-search
@@ -61,4 +61,4 @@
6161
.side-width.clearfix
6262
= yield
6363
%script{ :src => 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js' }
64-
%script{ :src => 'js/internal.js' }
64+
%script{ :src => url('js/internal.js') }

‎lib/puppet_forge_server/app/views/module.haml

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@
6060
%label= 'Select another release: '
6161
%select{:id => 'module-release-selector', :onchange => "location = this.options[this.selectedIndex].value;"}
6262
- releases.each do |release|
63-
%option{:value => "/module?name=#{module_metadata['metadata']['name']}&version=#{release['version']}", :selected => module_metadata['metadata']['version'] == release['version']}= release['version']
64-
%a{:class => 'module-release-download', :href => module_metadata['file_uri'], :title => 'Download module'}= 'Download'
63+
%option{:value => url("/module?name=#{module_metadata['metadata']['name']}&version=#{release['version']}"), :selected => module_metadata['metadata']['version'] == release['version']}= release['version']
64+
%a{:class => 'module-release-download', :href => url(module_metadata['file_uri']), :title => 'Download module'}= 'Download'
6565
%div{:id => 'release-info-tabs', :class => 'module-meta-info'}
6666
%div{:class => 'tabbed content'}
6767
%div

‎lib/puppet_forge_server/models/builder.rb

+6-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,12 @@ module PuppetForgeServer::Models
1818
class Builder
1919
def initialize(attributes={})
2020
attributes.each do |name, value|
21-
send("#{name}=", value) unless value.to_s.empty?
21+
if name.to_s == 'decription'
22+
normalized_name = :description
23+
else
24+
normalized_name = name.to_s.tr('-', '_').to_sym
25+
end
26+
send("#{normalized_name}=", value) unless value.to_s.empty?
2227
end
2328
end
2429

‎lib/puppet_forge_server/models/metadata.rb

+9-8
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,24 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
1817
module PuppetForgeServer::Models
1918
class Metadata < Builder
20-
2119
attr_accessor :author, :name, :version, :dependencies, :summary, :description, :project_page, :types
2220
attr_accessor :checksums, :source, :license, :issues_url, :operatingsystem_support, :requirements
2321
attr_accessor :puppet_version, :tags, :mail, :classes, :definitions
22+
attr_accessor :pdk_version, :template_url, :template_ref, :data_provider, :docs_project
23+
attr_accessor :forge_url, :package_release_version, :issue_url
24+
attr_accessor :kpn_quality_label, :kpn_module_owner, :kpn_module_support
2425

2526
def initialize(attributes)
2627
super(attributes)
2728
end
2829

2930
def ==(other)
3031
other && self.class.equal?(other.class) &&
31-
@author == other.author &&
32-
@name == other.name &&
33-
@version == other.version
32+
@author == other.author &&
33+
@name == other.name &&
34+
@version == other.version
3435
end
3536

3637
def hash
@@ -39,9 +40,9 @@ def hash
3940

4041
def eql?(other)
4142
other && self.class.equal?(other.class) &&
42-
@author.eql?(other.author) &&
43-
@name.eql?(other.name) &&
44-
@version.eql?(other.version)
43+
@author.eql?(other.author) &&
44+
@name.eql?(other.name) &&
45+
@version.eql?(other.version)
4546
end
4647
end
4748
end

0 commit comments

Comments
 (0)
Please sign in to comment.