foreman_content 0.3 → 0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +6 -2
- data/app/assets/javascripts/content/content.js +23 -12
- data/app/assets/javascripts/content/repository.js +19 -0
- data/app/controllers/content/content_views_controller.rb +19 -6
- data/app/controllers/content/products_controller.rb +1 -1
- data/app/controllers/content/repositories_controller.rb +9 -3
- data/app/helpers/content/content_views_helper.rb +24 -4
- data/app/helpers/content/repositories_helper.rb +28 -0
- data/app/models/concerns/content/host_extensions.rb +1 -1
- data/app/models/concerns/content/operatingsystem_extensions.rb +1 -1
- data/app/models/concerns/content/orchestration/pulp.rb +1 -1
- data/app/models/concerns/content/orchestration/pulp/sync.rb +37 -2
- data/app/models/concerns/content/redhat_extensions.rb +19 -3
- data/app/models/concerns/content/repository_common.rb +13 -0
- data/app/models/content/content_view.rb +21 -15
- data/app/models/content/content_view_repository_clone.rb +2 -2
- data/app/models/content/product.rb +1 -1
- data/app/models/content/repository.rb +24 -8
- data/app/models/content/repository/operating_system.rb +11 -2
- data/app/models/content/repository/product.rb +8 -3
- data/app/models/content/repository_clone.rb +5 -10
- data/app/services/content/content_view_factory.rb +46 -25
- data/app/services/content/pulp/repository.rb +13 -0
- data/app/services/content/pulp/repository_sync_history.rb +8 -2
- data/app/views/content/content_views/{_step2.html.erb → _composite.html.erb} +1 -1
- data/app/views/content/content_views/_form.html.erb +17 -14
- data/app/views/content/content_views/index.html.erb +4 -3
- data/app/views/content/content_views/new.html.erb +1 -7
- data/app/views/content/content_views/show.erb +22 -0
- data/app/views/content/products/_form.html.erb +3 -9
- data/app/views/content/repositories/_fields.html.erb +9 -0
- data/app/views/content/repositories/_os_form.html.erb +6 -11
- data/app/views/content/repositories/_product_form.html.erb +7 -11
- data/app/views/content/repositories/_repository.html.erb +4 -0
- data/app/views/content/repositories/_sync_schedule.erb +10 -0
- data/app/views/content/repositories/edit.html.erb +2 -0
- data/app/views/content/repositories/index.html.erb +14 -16
- data/app/views/content/repositories/new.html.erb +2 -0
- data/app/views/content/repositories/show.html.erb +51 -37
- data/db/migrate/20130807121629_create_content_content_views.rb +1 -1
- data/db/migrate/20130828173006_change_content_view_index_name.rb +10 -0
- data/db/migrate/20130901070945_add_publish_boolean_to_content_repository.rb +6 -0
- data/db/migrate/20130902130445_change_repository_to_polymorphic.rb +42 -0
- data/db/migrate/20130902142326_add_polymorphic_repo_to_content_view_repository_clone.rb +8 -0
- data/lib/content/version.rb +1 -1
- metadata +14 -18
@@ -0,0 +1,9 @@
|
|
1
|
+
<%= text_f f, :name %>
|
2
|
+
<%= text_f f, :feed, :class => 'span6' %>
|
3
|
+
<%= selectable_f f, :content_type, @repository.content_types %>
|
4
|
+
<%= select_f f, :architecture_id, ::Architecture.all, :id, :name, { :include_blank => N_("noarch")} %>
|
5
|
+
<%= checkbox_f f, :enabled %>
|
6
|
+
<%= checkbox_f f, :publish, { :disabled => !f.object.new_record?,
|
7
|
+
:help_inline => _('should this repository be directly accessible or as a feed for content views?') } %>
|
8
|
+
<%= select_f f, :gpg_key_id, Content::GpgKey.all, :id, :name, {:include_blank => true}, {:label => _("GPG Key")} %>
|
9
|
+
<%= f.hidden_field :type if f.object.new_record? %>
|
@@ -1,21 +1,16 @@
|
|
1
|
-
<%= javascript 'content/content.js' %>
|
2
1
|
<%= form_for @repository, :url => (@repository.new_record? ? repositories_path : repository_path(:id => @repository.id)) do |f| %>
|
3
2
|
<%= base_errors_for @repository %>
|
4
3
|
<ul class="nav nav-tabs" data-tabs="tabs">
|
5
4
|
<li class="active"><a href="#primary" data-toggle="tab"><%= _("Repository") %></a></li>
|
5
|
+
<li><a href="#sync_schedule" data-toggle="tab"><%= _("Sync Schedule") %></a></li>
|
6
6
|
</ul>
|
7
7
|
<div class="tab-content">
|
8
8
|
<div class="tab-pane active" id="primary">
|
9
|
-
<%= f.
|
10
|
-
<%=
|
11
|
-
|
12
|
-
|
13
|
-
<%=
|
14
|
-
<%= select_f f, :architecture_id, ::Architecture.all, :id, :name, { :include_blank => N_("noarch")} %>
|
15
|
-
<%= checkbox_f f, :enabled %>
|
16
|
-
|
17
|
-
<%= select_f f, :gpg_key_id, Content::GpgKey.all, :id, :name, {:include_blank => true}, {:label => _("GPG Key")} %>
|
18
|
-
|
9
|
+
<%= select_f f, :originator_id, ::Redhat.all, :id, :to_label, {}, {:label => _("Operating System")} %>
|
10
|
+
<%= render :partial => 'fields', :locals => {:f => f} %>
|
11
|
+
</div>
|
12
|
+
<div class="tab-pane" id="sync_schedule">
|
13
|
+
<%= render :partial => 'sync_schedule', :locals => { :f => f } %>
|
19
14
|
</div>
|
20
15
|
</div>
|
21
16
|
<%= submit_or_cancel f %>
|
@@ -1,28 +1,24 @@
|
|
1
|
-
<%= javascript 'content/content.js' %>
|
2
1
|
<%= form_for @repository, :url => (@repository.new_record? ? repositories_path : repository_path(:id => @repository.id)) do |f| %>
|
3
2
|
<%= base_errors_for @repository %>
|
4
3
|
<ul class="nav nav-tabs" data-tabs="tabs">
|
5
4
|
<li class="active"><a href="#primary" data-toggle="tab"><%= _("Repository") %></a></li>
|
6
5
|
<li><a href="#operatingsystems" data-toggle="tab"><%= _("Operating systems") %></a></li>
|
6
|
+
<li><a href="#sync_schedule" data-toggle="tab"><%= _("Sync Schedule") %></a></li>
|
7
7
|
</ul>
|
8
8
|
<div class="tab-content">
|
9
9
|
<div class="tab-pane active" id="primary">
|
10
|
-
<%= f.
|
11
|
-
<%=
|
12
|
-
<%= text_f f, :name %>
|
13
|
-
<%= text_f f, :feed, :class => 'span6' %>
|
14
|
-
<%= selectable_f f, :content_type, @repository.content_types %>
|
15
|
-
<%= select_f f, :architecture_id, ::Architecture.all, :id, :name, { :include_blank => N_("noarch")} %>
|
16
|
-
<%= checkbox_f f, :enabled %>
|
17
|
-
|
18
|
-
<%= select_f f, :gpg_key_id, Content::GpgKey.all, :id, :name, {:include_blank => true}, {:label => _("GPG Key")} %>
|
19
|
-
|
10
|
+
<%= select_f f, :originator_id, Content::Product.all, :id, :name, { :prompt => _('Please Select') }, { :label => _("Product") } %>
|
11
|
+
<%= render :partial => 'fields', :locals => { :f => f } %>
|
20
12
|
</div>
|
21
13
|
<div class="tab-pane" id="operatingsystems">
|
22
14
|
<%= alert :class => 'controls alert-success', :header => 'Repository for operating systems',
|
23
15
|
:text => _('This Repository will be restricted only to hosts that runs the selected operating system') %>
|
24
16
|
<%= multiple_selects(f, :operatingsystems, ::Redhat, @repository.operatingsystem_ids) %>
|
25
17
|
</div>
|
18
|
+
<div class="tab-pane" id="sync_schedule">
|
19
|
+
<%= render :partial => 'sync_schedule', :locals => { :f => f } %>
|
20
|
+
</div>
|
21
|
+
|
26
22
|
</div>
|
27
23
|
<%= submit_or_cancel f %>
|
28
24
|
<% end %>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<td><%= link_to_if_authorized(h(repository.name), hash_for_repository_path(repository)) %></td>
|
2
|
+
<td><%= repository.try(:state) %></td>
|
3
|
+
<td><%= last_time(repository.kind_of?(Content::Repository) ? repository.last_sync : repository.last_published) %></td>
|
4
|
+
<td><%= repository.content_type %></td>
|
@@ -7,28 +7,26 @@
|
|
7
7
|
<table class="table table-bordered table-striped">
|
8
8
|
<tr>
|
9
9
|
<th><%= sort :name, :as => s_("Name") %></th>
|
10
|
-
<th><%= _("Product") %></th>
|
11
10
|
<th><%= _("State") %></th>
|
12
11
|
<th><%= _("Last sync status") %></th>
|
13
12
|
<th><%= _("Content type") %></th>
|
14
13
|
<th></th>
|
15
14
|
</tr>
|
16
|
-
<% @repositories.each do |
|
17
|
-
<tr>
|
18
|
-
|
19
|
-
<
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
display_delete_if_authorized(hash_for_repository_path(repository), :confirm => "Delete #{repository.name}?")
|
28
|
-
) %>
|
15
|
+
<% @repositories.group_by(&:originator).each do |originator, repositories| %>
|
16
|
+
<tr><td colspan = '5'><%= originator %></td></tr>
|
17
|
+
<% repositories.each do |repository| %>
|
18
|
+
<tr>
|
19
|
+
<%= render :partial => 'repository', :locals => { :repository => repository } %>
|
20
|
+
<td align="right">
|
21
|
+
<%= action_buttons(
|
22
|
+
display_link_if_authorized(_("Edit"), hash_for_edit_repository_path(repository)),
|
23
|
+
display_link_if_authorized(_("Synchronize"), hash_for_sync_repository_path(repository), :method => :put),
|
24
|
+
display_delete_if_authorized(hash_for_repository_path(repository), :confirm => "Delete #{repository.name}?")
|
25
|
+
) %>
|
29
26
|
|
30
|
-
|
31
|
-
|
27
|
+
</td>
|
28
|
+
</tr>
|
29
|
+
<% end %>
|
32
30
|
<% end %>
|
33
31
|
</table>
|
34
32
|
<%= page_entries_info @repositories %>
|
@@ -41,51 +41,65 @@
|
|
41
41
|
<td> <%= _("Unprotected") %> </td>
|
42
42
|
<td> <%= @repository.unprotected %> </td>
|
43
43
|
</tr>
|
44
|
+
<% if @repository.publish %>
|
45
|
+
<tr>
|
46
|
+
<td> <%= _("URL") %> </td>
|
47
|
+
<td> <%= @repository.full_path %> </td>
|
48
|
+
</tr>
|
49
|
+
<% end %>
|
50
|
+
<tr>
|
51
|
+
<td> <%= _('Sync Schedule') %> </td>
|
52
|
+
<td> <%= sync_schedule(@repository.sync_schedule) %> </td>
|
53
|
+
</tr>
|
54
|
+
|
44
55
|
</table>
|
45
56
|
</div>
|
46
57
|
</div>
|
47
58
|
<div class="row-fluid">
|
48
|
-
|
49
|
-
|
50
|
-
<div
|
51
|
-
|
59
|
+
<%# running sync %>
|
60
|
+
<% if @repository.sync_history.any? %>
|
61
|
+
<div class="stats-well span4">
|
62
|
+
<h4 class="ca" ><%= _('Last Update Metrics') -%></h4>
|
63
|
+
<div style="margin-top:50px;padding-bottom: 40px;">
|
64
|
+
<%= flot_pie_chart("metrics" ,_("Last Update Metrics"), @repository.sync_history.last.try(:times), :class => "statistics-pie small") %>
|
65
|
+
</div>
|
66
|
+
</div>
|
67
|
+
<div class="stats-well span4">
|
68
|
+
<h4 class="ca" ><%= _('Update Summary') -%></h4>
|
69
|
+
<%= flot_bar_chart("status" ,"", _("Number of packages"), @repository.sync_history.last.try(:metrics), :class => "statistics-bar")%>
|
52
70
|
</div>
|
53
|
-
</div>
|
54
|
-
<div class="stats-well span4">
|
55
|
-
<h4 class="ca" ><%= _('Update Summary') -%></h4>
|
56
|
-
<%= flot_bar_chart("status" ,"", _("Number of packages"), @repository.sync_history.last.try(:metrics), :class => "statistics-bar")%>
|
57
|
-
</div>
|
58
71
|
|
59
|
-
|
60
|
-
|
61
|
-
<tr>
|
62
|
-
<th><%= _('Repository Counters') %></th>
|
63
|
-
<th></th>
|
64
|
-
</tr>
|
65
|
-
<% @repository.counters.each do |name, value| -%>
|
72
|
+
<div class="span4">
|
73
|
+
<table class="table table-bordered table-striped">
|
66
74
|
<tr>
|
67
|
-
<
|
68
|
-
<
|
75
|
+
<th><%= _('Repository Counters') %></th>
|
76
|
+
<th></th>
|
69
77
|
</tr>
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
</div>
|
77
|
-
<div class="span4">
|
78
|
-
<table class="table table-bordered table-striped">
|
79
|
-
<tr>
|
80
|
-
<th><%= _('Last Sync') %></th>
|
81
|
-
<th></th>
|
82
|
-
</tr>
|
83
|
-
<% @repository.sync_history.last.status.each do |name, value| -%>
|
78
|
+
<% @repository.counters.each do |name, value| -%>
|
79
|
+
<tr>
|
80
|
+
<td> <%= name.to_s.humanize %> </td>
|
81
|
+
<td> <%= value %> </td>
|
82
|
+
</tr>
|
83
|
+
<% end -%>
|
84
84
|
<tr>
|
85
|
-
<td> <%=
|
86
|
-
<td> <%=
|
85
|
+
<td> <%= _("Last synchronized") %> </td>
|
86
|
+
<td> <%= last_time @repository.last_sync %> </td>
|
87
87
|
</tr>
|
88
|
-
|
89
|
-
</
|
90
|
-
|
88
|
+
</table>
|
89
|
+
</div>
|
90
|
+
<div class="span4">
|
91
|
+
<table class="table table-bordered table-striped">
|
92
|
+
<tr>
|
93
|
+
<th><%= _('Last Sync') %></th>
|
94
|
+
<th></th>
|
95
|
+
</tr>
|
96
|
+
<% @repository.sync_history.last.status.each do |name, value| -%>
|
97
|
+
<tr>
|
98
|
+
<td> <%= name.to_s.humanize %> </td>
|
99
|
+
<td> <%= value %> </td>
|
100
|
+
</tr>
|
101
|
+
<% end -%>
|
102
|
+
</table>
|
103
|
+
</div>
|
104
|
+
<% end %>
|
91
105
|
</div>
|
@@ -9,7 +9,7 @@ class CreateContentContentViews < ActiveRecord::Migration
|
|
9
9
|
t.timestamps
|
10
10
|
end
|
11
11
|
add_index(:content_content_views, :ancestry,:name=>'content_view_ancestry_index')
|
12
|
-
add_index :content_content_views, [:originator_id, :originator_type]
|
12
|
+
add_index :content_content_views, [:originator_id, :originator_type], :name => 'content_view_id_type_index'
|
13
13
|
add_index :content_content_views, :originator_type
|
14
14
|
end
|
15
15
|
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
class ChangeContentViewIndexName < ActiveRecord::Migration
|
2
|
+
OLD_NAME = :index_content_content_views_on_originator_id_and_originator_type
|
3
|
+
def up
|
4
|
+
rename_index :content_content_views, OLD_NAME, :content_view_id_type_index if index_name_exists? :content_content_views, OLD_NAME, nil
|
5
|
+
end
|
6
|
+
|
7
|
+
def down
|
8
|
+
rename_index :content_content_views, :content_view_id_type_index, OLD_NAME
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
class ChangeRepositoryToPolymorphic < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
add_column :content_repositories, :originator_type, :string
|
4
|
+
add_column :content_repositories, :originator_id, :integer
|
5
|
+
Content::Repository.reset_column_information
|
6
|
+
|
7
|
+
Content::Repository.all.each do |repo|
|
8
|
+
if repo.operatingsystem_id
|
9
|
+
repo.originator_type = 'Operatingsystem'
|
10
|
+
repo.originator_id = repo.operatingsystem_id
|
11
|
+
elsif repo.product_id
|
12
|
+
repo.originator_type = 'Content::Product'
|
13
|
+
repo.originator_id = repo.product_id
|
14
|
+
else
|
15
|
+
raise "invalid repo type, can't continue: #{repo.inspect}"
|
16
|
+
end
|
17
|
+
repo.save(:validate => false)
|
18
|
+
end
|
19
|
+
remove_column :content_repositories, :operatingsystem_id
|
20
|
+
remove_column :content_repositories, :product_id
|
21
|
+
end
|
22
|
+
|
23
|
+
def down
|
24
|
+
add_column :content_repositories, :product_id, :integer
|
25
|
+
add_column :content_repositories, :operatingsystem_id, :integer
|
26
|
+
Content::Repository.reset_column_information
|
27
|
+
|
28
|
+
Content::Repository.all.each do |repo|
|
29
|
+
if repo.originator_type && repo.originator_id
|
30
|
+
case repo.originator_type
|
31
|
+
when 'Operatingsystem'
|
32
|
+
repo.operatingsystem_id = repo.originator_id
|
33
|
+
when 'Content::Product'
|
34
|
+
repo.product_id = repo.originator_id
|
35
|
+
end
|
36
|
+
repo.save(:validate => false)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
remove_column :content_repositories, :originator_type
|
40
|
+
remove_column :content_repositories, :originator_id
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
class AddPolymorphicRepoToContentViewRepositoryClone < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
add_column :content_content_view_repository_clones, :repository_type, :string
|
4
|
+
Content::ContentViewRepositoryClone.reset_column_information
|
5
|
+
Content::ContentViewRepositoryClone.update_all(:repository_type => 'Content::RepositoryClone')
|
6
|
+
rename_column :content_content_view_repository_clones, :repository_clone_id, :repository_id
|
7
|
+
end
|
8
|
+
end
|
data/lib/content/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_content
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.4'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitri Dolguikh
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-09-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -26,20 +26,6 @@ dependencies:
|
|
26
26
|
- - ~>
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: 3.2.8
|
29
|
-
- !ruby/object:Gem::Dependency
|
30
|
-
name: logging
|
31
|
-
requirement: !ruby/object:Gem::Requirement
|
32
|
-
requirements:
|
33
|
-
- - '>='
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version: 1.8.0
|
36
|
-
type: :runtime
|
37
|
-
prerelease: false
|
38
|
-
version_requirements: !ruby/object:Gem::Requirement
|
39
|
-
requirements:
|
40
|
-
- - '>='
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: 1.8.0
|
43
29
|
- !ruby/object:Gem::Dependency
|
44
30
|
name: runcible
|
45
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,6 +86,7 @@ files:
|
|
100
86
|
- app/models/concerns/content/taxonomy_extensions.rb
|
101
87
|
- app/models/concerns/content/hostgroup_extensions.rb
|
102
88
|
- app/models/concerns/content/environment_extensions.rb
|
89
|
+
- app/models/concerns/content/repository_common.rb
|
103
90
|
- app/models/concerns/content/operatingsystem_extensions.rb
|
104
91
|
- app/models/concerns/content/orchestration/pulp/clone.rb
|
105
92
|
- app/models/concerns/content/orchestration/pulp/sync.rb
|
@@ -125,18 +112,22 @@ files:
|
|
125
112
|
- app/views/content/gpg_keys/new.html.erb
|
126
113
|
- app/views/content/gpg_keys/index.html.erb
|
127
114
|
- app/views/content/gpg_keys/edit.html.erb
|
115
|
+
- app/views/content/repositories/_sync_schedule.erb
|
128
116
|
- app/views/content/repositories/new.html.erb
|
129
117
|
- app/views/content/repositories/show.html.erb
|
118
|
+
- app/views/content/repositories/_repository.html.erb
|
130
119
|
- app/views/content/repositories/_product_form.html.erb
|
131
120
|
- app/views/content/repositories/_os_form.html.erb
|
132
121
|
- app/views/content/repositories/index.html.erb
|
133
122
|
- app/views/content/repositories/welcome.html.erb
|
123
|
+
- app/views/content/repositories/_fields.html.erb
|
134
124
|
- app/views/content/repositories/edit.html.erb
|
135
125
|
- app/views/content/content_views/_form.html.erb
|
126
|
+
- app/views/content/content_views/_composite.html.erb
|
136
127
|
- app/views/content/content_views/new.html.erb
|
137
128
|
- app/views/content/content_views/_step1.html.erb
|
129
|
+
- app/views/content/content_views/show.erb
|
138
130
|
- app/views/content/content_views/_form_tab.html.erb
|
139
|
-
- app/views/content/content_views/_step2.html.erb
|
140
131
|
- app/views/content/content_views/index.html.erb
|
141
132
|
- app/views/content/content_views/_host_tab_pane.html.erb
|
142
133
|
- app/views/content/content_views/edit.html.erb
|
@@ -151,21 +142,26 @@ files:
|
|
151
142
|
- app/helpers/content/content_views_helper.rb
|
152
143
|
- app/helpers/content/repositories_helper.rb
|
153
144
|
- app/helpers/content/application_helper.rb
|
145
|
+
- app/assets/javascripts/content/repository.js
|
154
146
|
- app/assets/javascripts/content/content.js
|
155
147
|
- app/assets/stylesheets/content/application.css
|
156
148
|
- config/environment.rb
|
157
149
|
- config/routes.rb
|
158
150
|
- db/migrate/20130807121629_create_content_content_views.rb
|
151
|
+
- db/migrate/20130902130445_change_repository_to_polymorphic.rb
|
159
152
|
- db/migrate/20130702162629_create_content_products.rb
|
153
|
+
- db/migrate/20130901070945_add_publish_boolean_to_content_repository.rb
|
160
154
|
- db/migrate/20130709001120_create_content_gpg_keys.rb
|
161
155
|
- db/migrate/20130722084911_create_content_operatingsystem_repositories.rb
|
162
156
|
- db/migrate/20130723124911_create_content_host_products.rb
|
163
157
|
- db/migrate/20130702140034_create_content_repositories.rb
|
158
|
+
- db/migrate/20130828173006_change_content_view_index_name.rb
|
164
159
|
- db/migrate/20130807123220_create_content_available_content_views.rb
|
165
160
|
- db/migrate/20130813110455_create_content_repository_clones.rb
|
166
161
|
- db/migrate/20130723084911_create_content_hostgroup_products.rb
|
167
162
|
- db/migrate/20130812154754_create_content_content_view_hosts.rb
|
168
163
|
- db/migrate/20130825145431_create_content_content_view_repository_clones.rb
|
164
|
+
- db/migrate/20130902142326_add_polymorphic_repo_to_content_view_repository_clone.rb
|
169
165
|
- lib/content/engine.rb
|
170
166
|
- lib/content/version.rb
|
171
167
|
- lib/foreman_content.rb
|
@@ -203,7 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
203
199
|
version: '0'
|
204
200
|
requirements: []
|
205
201
|
rubyforge_project:
|
206
|
-
rubygems_version: 2.0.
|
202
|
+
rubygems_version: 2.0.7
|
207
203
|
signing_key:
|
208
204
|
specification_version: 4
|
209
205
|
summary: Add Foreman support for content management.
|