drg_cms 0.5.10.7 → 0.5.10.10

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 13427f3d66b3e41332787f5e5a1b9136c65874d7
4
- data.tar.gz: cb7dd4a48763fc5da35b1e6f009f29687ebd4449
3
+ metadata.gz: bdf44bace6e210feb0eb13a51f30edac416f50af
4
+ data.tar.gz: 883617538b019a15dd6cb1aa320b56cf9f578247
5
5
  SHA512:
6
- metadata.gz: 4ae87d5b1417d792d1c253f5d623b032c6b8a0b19e08b89efe1e2631b4c6488acd5cdf55891ef937edec4e049da3970d28ab1e197eda1efb101f2b8d40abb80f
7
- data.tar.gz: 2cce2a337d7da3f95dda769dfb330ba03d7b5e14481749326522618a7853c67138feaf26bb73fbbc4e0396940838d7a0056708aeb9d187fddcf9be454c5b9616
6
+ metadata.gz: ef0e470d00455dbf50ade1b16c041ea73926e329c6cc94ae2345860ffa314148089e823f4e979266d469fd92a755b1f79487966943c5f4e6940163c6ebb71e2e
7
+ data.tar.gz: 9525e91d098007daedf5171f7973d1a5a9d38f46c8b4304c39ff70c5c8b3c90172dd4df83d425b3eb565f71153e1055068e640af7dfa0f0b1a8446f4838c0d52
@@ -584,8 +584,10 @@ height: 26px;
584
584
  }
585
585
 
586
586
  .cmsedit-menu ul {
587
- display: inline-block;
587
+ display: inline-block;
588
+ list-style-type: none;
588
589
  color: #666;
590
+ margin: 0px;
589
591
  margin-right: 4px;
590
592
  font-size: 14px;
591
593
  }
@@ -198,12 +198,6 @@ def dc_user_can(permission, table=params[:table])
198
198
  add_permissions_for table_name
199
199
  end
200
200
  end
201
- # Sometimes anonymous user is allowed to use cmsedit. Search for system default role.
202
- #TODO This might not be the best idea. Check in the future.
203
- if session[:user_roles].nil? or session[:user_roles] == []
204
- guest = DcUserRole.find_by(:system_name => 'guest')
205
- session[:user_roles] = guest ? [guest.id] : []
206
- end
207
201
  # Return true if any of the permissions user has is higher or equal to requested permission
208
202
  session[:user_roles].each {|r| return true if @permissions[r] and @permissions[r] >= permission }
209
203
  false
@@ -268,6 +262,36 @@ def dc_not_modified?(*documents)
268
262
  false
269
263
  end
270
264
 
265
+ ##########################################################################
266
+ # Will determine design content or view filename which defines design.
267
+ #
268
+ # Returns:
269
+ # design_body: design body as defined in site or design document.
270
+ # design_view: view file name which will be used for rendering design
271
+ ##########################################################################
272
+ def get_design_and_render(design_doc)
273
+ layout = @site.site_layout.blank? ? 'content' : @site.site_layout
274
+ site_top = '<%= dc_page_top %>'
275
+ site_bottom = '<%= dc_page_bottom %>'
276
+ #
277
+ if design_doc
278
+ if !design_doc.rails_view.blank?
279
+ if design_doc.rails_view.downcase != 'site'
280
+ return render design_doc.rails_view, layout: layout
281
+ end
282
+ elsif !design_doc.body.blank?
283
+ design = site_top + design_doc.body + site_bottom
284
+ return render(inline: design, layout: layout)
285
+ end
286
+ end
287
+ #
288
+ if @site.rails_view.blank?
289
+ design = site_top + @site.design + site_bottom
290
+ return render(inline: design, layout: layout)
291
+ end
292
+ render @site.rails_view, layout: layout
293
+ end
294
+
271
295
  ##########################################################################
272
296
  # This is default page process action. It will search for site, page and
273
297
  # design documents, collect parameters from different objects, add CMS edit code if allowed
@@ -334,7 +358,8 @@ def dc_process_default_request()
334
358
  dc_log_visit()
335
359
  end
336
360
  @page_title = @page.title.blank? ? "#{@site.page_title}-#{@page.subject}" : @page.title
337
- layout = @site.site_layout.blank? ? 'content' : @site.site_layout
361
+ # define design
362
+ =begin
338
363
  design = @design ? @design.body : @site.design
339
364
  # render view. inline if defined in design
340
365
  view_filename = @design ? @design.rails_view.to_s : ''
@@ -346,6 +371,8 @@ def dc_process_default_request()
346
371
  else
347
372
  render view_filename, layout: layout
348
373
  end
374
+ =end
375
+ get_design_and_render @design
349
376
  end
350
377
 
351
378
  ##########################################################################
@@ -378,6 +405,7 @@ def dc_single_sitedoc_request
378
405
  #
379
406
  @page_title = "#{@site.page_title} #{@part.name}"
380
407
  @js, @css = '', ''
408
+ =begin
381
409
  layout = @site.site_layout.blank? ? 'content' : @site.site_layout
382
410
  if @site.rails_view.blank?
383
411
  design = @site.design + '<style type="text/css"><%= @css.html_safe %></style><%= javascript_tag @js %>'
@@ -386,6 +414,8 @@ def dc_single_sitedoc_request
386
414
  else
387
415
  render @site.rails_view, layout: layout
388
416
  end
417
+ =end
418
+ get_design_and_render nil
389
419
  end
390
420
 
391
421
  ########################################################################
@@ -149,8 +149,7 @@ end
149
149
  def restore_from_journal
150
150
  # Only administrators can perform this operation
151
151
  unless dc_user_has_role('admin')
152
- { 'msg_info' => (t ('drgcms.not_authorized')) }
153
- return render inline: result.to_json, formats: 'js'
152
+ return render inline: { 'msg_info' => (t ('drgcms.not_authorized')) }.to_json, formats: 'js'
154
153
  end
155
154
  # selected fields to hash
156
155
  restore = params[:select].inject({}) {|r,v| r[v.first] = 0 if v.last == '1'; r}
@@ -305,11 +304,10 @@ def fill_login_data(user, remember_me)
305
304
  session[:user_id] = user.id
306
305
  session[:user_name] = user.name
307
306
  session[:edit_mode] = 0
308
- session[:user_roles] = nil
307
+ session[:user_roles] = []
309
308
  # special for SUPERADMIN
310
309
  sa = DcPolicyRole.find_by(system_name: 'superadmin')
311
310
  if sa and (role = user.dc_user_roles.find_by(dc_policy_role_id: sa.id))
312
- session[:user_roles] = []
313
311
  session[:user_roles] << role.dc_policy_role_id
314
312
  session[:edit_mode] = 2
315
313
  return
@@ -328,9 +326,16 @@ def fill_login_data(user, remember_me)
328
326
  # set edit_mode
329
327
  # session[:edit_mode] = 1 if policy_role.has_cms_menu
330
328
  session[:edit_mode] = 1 if policy_role.permission > 1
331
- session[:user_roles] ||= [] #
332
329
  session[:user_roles] << role.dc_policy_role_id
333
330
  end
331
+ # Add default guest role if no role set
332
+ # This was previously in dc_user_can. I belive it should be here.
333
+ #TODO This might not be the best idea. Check in the future.
334
+ if session[:user_roles].size == 0
335
+ guest = DcUserRole.find_by(:system_name => 'guest')
336
+ session[:user_roles] << guest.id if guest
337
+ end
338
+
334
339
  # Save remember me cookie if not CMS user and remember me is selected
335
340
  if session[:edit_mode] == 0 and remember_me
336
341
  cookies.signed[:remember_me] = { :value => user.id, :expires => 180.days.from_now}
@@ -135,7 +135,7 @@ form:
135
135
  name: dc_site_id
136
136
  type: select
137
137
  multiple: true || 1
138
- eval: dc_choices4('model','description_field_name','_id')
138
+ eval: "dc_choices4('model','description_field_name','_id',site: :with_nil)"
139
139
  eval: ModelName.choices4_site
140
140
  html:
141
141
  include_blank: true
@@ -54,3 +54,10 @@ form:
54
54
  eval: DcCategory.values_for_parent
55
55
  html:
56
56
  include_blank: true
57
+ 60:
58
+ name: dc_site_id
59
+ type: select
60
+ eval: DcSite.choices4_site
61
+ html:
62
+ include_blank: true
63
+
@@ -89,10 +89,16 @@ form:
89
89
  include_blank: true
90
90
  120:
91
91
  name: kats
92
- type: multitext_autocomplete
93
- search: dc_category.name
92
+ # type: multitext_autocomplete
93
+ # search: dc_category.name
94
+ # html:
95
+ # size: 30
96
+ type: select
97
+ multiple: true
98
+ eval: "dc_choices4('DcCategory','name','_id',site: :with_nil)"
94
99
  html:
95
- size: 30
100
+ include_blank: true
101
+ size: 4
96
102
 
97
103
  2advanced:
98
104
  10:
@@ -124,17 +124,82 @@ def dc_replace_in_design(opts={})
124
124
  design.sub!(opts[:replace], opts[:with])
125
125
  end
126
126
  end
127
- render(inline: design, layout: opts[:layout])
127
+ render(inline: design, layout: nil)
128
128
  end
129
129
 
130
130
  ########################################################################
131
- # Old method name.
131
+ # Used for designs with lots of common code and one (or more) part which differs.
132
+ # It will simply replace anchor code with value of variable.
133
+ #
134
+ # Example: As used in design. Backslashing < and % is important \<\%
135
+ # <% part = "<div class='some-class'>\<\%= dc_render(:my_renderer, method: 'render_method') \%\></div>" %>
136
+ # <%= dc_replace_in_design(piece: 'piece_name', replace: '[main]', with: part) %>
137
+ #
138
+ # Want to replace more than one part. Use array.
139
+ # <%= dc_replace_in_design(replace: ['[part1]','[part2]'], with: [part1, part2]) %>
140
+ #
141
+ # This helper is replacement for old 'script' method defined in dc_piece_renderer,
142
+ # but it uses design defined in site document if piece parameter is not set.
132
143
  ########################################################################
133
- def dc_render_design(opts={}) #:nodoc:
134
- dc_deprecate "dc_render_design will be deprecated. Use dc_replace_in_design instead."
135
- dc_replace_in_design(opts)
144
+ def dc_render_from_site(opts={})
145
+ design = opts[:piece] ? DcPiece.find(name: opts[:piece]).script : dc_get_site.design
146
+ layout = opts[:layout] || (dc_get_site.site_layout.size > 2 ? dc_get_site.site_layout : nil)
147
+
148
+ render(inline: design, layout: opts[:layout], with: opts[:with])
136
149
  end
137
150
 
151
+
152
+
153
+ ########################################################################
154
+ # Used for designs with lots of common code and one (or more) part which differs.
155
+ # Point is to define design once and replace some parts of design dinamically.
156
+ # Design may be defined in site and design doc defines only parts that vary
157
+ # from page to page.
158
+ #
159
+ # Example: As used in design.
160
+ # <%= dc_render_design_part(@main) %>
161
+ #
162
+ # main variable is defined in design body for example:
163
+ #
164
+ # @main = Proc.new {render partial: 'parts/home'}
165
+ #
166
+ # This helper is replacement dc_render_from_site method which will soon be deprecated.
167
+ ########################################################################
168
+ def dc_render_design_part(part)
169
+ if part.nil?
170
+ ''
171
+ elsif part.class == Proc
172
+ result = part.call
173
+ result.class == Array ? result.first : result
174
+ elsif part.class == String
175
+ eval part
176
+ else
177
+ part.to_s
178
+ end.html_safe
179
+ end
180
+
181
+ def dc_render_design(part)
182
+ dc_render_design_part(part)
183
+ end
184
+
185
+ ########################################################################
186
+ # Helper for rendering top CMS menu when in editing mode
187
+ ########################################################################
188
+ def dc_page_top()
189
+ if @design and !@design.rails_view.blank?
190
+ # Evaluate parameters in design body
191
+ eval(@design.body)
192
+ end
193
+ session[:edit_mode] > 0 ? render(partial: 'cmsedit/edit_stuff') : ''
194
+ end
195
+
196
+ ########################################################################
197
+ # Helper for adding additional css and javascript code added by documents
198
+ # and renderers during page rendering.
199
+ ########################################################################
200
+ def dc_page_bottom()
201
+ %Q[<style type="text/css">#{@css}</style>#{javascript_tag @js}].html_safe
202
+ end
138
203
  ############################################################################
139
204
  # Creates title div for DRG CMS dialogs. Title may also contain pagination section on right side if
140
205
  # result_set is provided as parameter.
@@ -818,8 +883,9 @@ end
818
883
  # [model] String. Collection (table) name in lowercase format.
819
884
  # [name] String. Field name containing description text.
820
885
  # [id] String. Field name containing id field. Default is '_id'
821
- # [options] Hash. Various options. Currently site_only is used. Will return only
822
- # documents belonging to current site.
886
+ # [options] Hash. Various options. Currently site: (:only, :with_nil, :all) is used.
887
+ # Will return only documents belonging to current site, also with site not defined,
888
+ # or all documents.
823
889
  #
824
890
  # Example (as used in forms):
825
891
  # 50:
@@ -830,7 +896,11 @@ end
830
896
  def dc_choices4(model, name, id='_id', options = {})
831
897
  model = model.classify.constantize
832
898
  qry = model.only(id, name)
833
- qry = qry.and(dc_site_id: dc_get_site()) if options[:site_only]
899
+ if (param = options[:site])
900
+ sites = [dc_get_site.id] unless param == :all
901
+ sites << nil if param == :with_nil
902
+ qry = qry.in(dc_site_id: sites) if sites
903
+ end
834
904
  qry = qry.and(active: true) if model.method_defined?(:active)
835
905
  # qry = qry.sort(name => 1)
836
906
  # choices = []
@@ -957,13 +1027,9 @@ end
957
1027
  def dc_user_has_role( role, user=nil, roles=nil )
958
1028
  roles = _origin.session[:user_roles] if roles.nil?
959
1029
  user = _origin.session[:user_id] if user.nil?
960
- return false if user.nil?
1030
+ return false if user.nil? or roles.nil?
961
1031
  #
962
- if role.class == String
963
- rol = role
964
- role = DcPolicyRole.find_by(name: rol)
965
- role = DcPolicyRole.find_by(system_name: rol) if role.nil?
966
- end
1032
+ role = DcPolicyRole.get_role(role)
967
1033
  return false if role.nil?
968
1034
  # role is included in roles array
969
1035
  roles.include?(role._id)
@@ -41,6 +41,7 @@ include DcApplicationHelper
41
41
  # Defines renderer's class method
42
42
  ########################################################################
43
43
  def layout_4print
44
+ return '' if @parent.params[:renderer].blank?
44
45
  opts = @opts.dup
45
46
  opts[:method] = @parent.params[:method]
46
47
  klass = (@parent.params[:renderer] + '_renderer').classify
@@ -110,7 +110,7 @@ def link_4menu(item)
110
110
  caption << ' '
111
111
  end
112
112
  # - in first place won't write caption text
113
- caption = caption.html_safe + (item.caption[0] == '-' ? '' : item.caption )
113
+ caption = caption.html_safe + (item.caption[0] == '-' ? '' : item.caption.html_safe )
114
114
 
115
115
  target = item.target.blank? ? nil : item.target
116
116
  @parent.link_to(caption, link, {target: target})
@@ -53,16 +53,19 @@ class DcCategory
53
53
  field :order, type: Integer, default: 0
54
54
  field :created_by, type: BSON::ObjectId
55
55
  field :updated_by, type: BSON::ObjectId
56
+ field :dc_site_id, type: BSON::ObjectId
56
57
 
57
58
  validates :name, :presence => true
58
59
 
59
60
  index name: 1
60
61
  index ctype: 1
62
+ index site_id: 1
61
63
 
62
64
  #########################################################################
63
65
  # Returns all values where parent value is nil (top level parent).
64
66
  #########################################################################
65
- def self.values_for_parent #:nodoc:
66
- where(parent: nil).sort(name: 1).inject([]) {|r,v| r << [v.name, v._id]}
67
- end
67
+ def self.values_for_parent #:nodoc:
68
+ where(parent: nil).sort(name: 1).inject([]) {|r,v| r << [v.name, v._id]}
69
+ end
70
+
68
71
  end
@@ -58,4 +58,16 @@ def self.choices4_roles
58
58
  where(active: true).order_by(name: 1).inject([]) { |r,role| r << [ role.name, role._id] }
59
59
  end
60
60
 
61
+ ########################################################################
62
+ # Search for role when role parameter is String.
63
+ ########################################################################
64
+ def self.get_role(role)
65
+ if role.class == String
66
+ rol = role
67
+ role = find_by(name: rol) || find_by(system_name: rol)
68
+ end
69
+ role
70
+ end
71
+
72
+
61
73
  end
@@ -468,7 +468,7 @@ def render
468
468
  link = @parent.link_to(@parent.fa_icon('remove lg', class: 'dc-animate dc-red'), '#',
469
469
  onclick: "$('##{rec.id}').hide(); var v = $('##{record}_#{@yaml['name']}_#{rec.id}'); v.val(\"-\" + v.val());return false;")
470
470
  field = @parent.hidden_field(record, "#{@yaml['name']}_#{rec.id}", value: element)
471
- "<div id=\"#{rec.id}\" style=\"padding:2px;\">#{link} #{rec[field_name]}<br>#{field}</div>"
471
+ "<div id=\"#{rec.id}\" style=\"padding:2px;\">#{link} #{rec.send(field_name)}<br>#{field}</div>"
472
472
  else
473
473
  '** error **'
474
474
  end
@@ -650,6 +650,19 @@ def render
650
650
  self
651
651
  end
652
652
 
653
+ ###########################################################################
654
+ # Return value.
655
+ ###########################################################################
656
+ def self.get_data(params, name)
657
+ if params['record'][name].class == Array
658
+ params['record'][name].delete_if {|e| e.blank? }
659
+ return nil if params['record'][name].size == 0
660
+ # convert to BSON objects
661
+ return params['record'][name].map{ |e| BSON::ObjectId.from_string(e) }
662
+ end
663
+ params['record'][name]
664
+ end
665
+
653
666
  end
654
667
 
655
668
  ###########################################################################
@@ -1136,7 +1149,7 @@ def render
1136
1149
  # Found value to be written in field
1137
1150
  if value
1138
1151
  record = t.find(value)
1139
- value_displayed = record[ret_name] if record
1152
+ value_displayed = record.send(ret_name) if record
1140
1153
  end
1141
1154
  # return if readonly
1142
1155
  return ro_standard(value_displayed) if @readonly
@@ -391,6 +391,7 @@ en:
391
391
  order: Order
392
392
  parent: Parent
393
393
  active: Active
394
+ dc_site_id: Valid for site
394
395
  updated_at: Spremenjen
395
396
 
396
397
  dc_mail:
@@ -777,6 +778,7 @@ en:
777
778
  order: Additional order, which can be used for sorting.
778
779
  parent: Parent category. Leave blank if this is top level category.
779
780
  active: Category is active.
781
+ dc_site_id: Category is valid only for site
780
782
  updated_at: Last update
781
783
 
782
784
  dc_mail:
@@ -396,6 +396,7 @@ sl:
396
396
  order: Zaporedje
397
397
  parent: Nadrejeni
398
398
  active: Aktiven
399
+ dc_site_id: Spletišče
399
400
  updated_at: Spremenjen
400
401
 
401
402
  dc_mail:
@@ -790,6 +791,7 @@ sl:
790
791
  order: Zaporedje, ki se lahko uporabi pri grupiranju člankov.
791
792
  parent: Nadrejena kategorija. Pustite prazno če je to najvišja kategorija.
792
793
  active: Aktivna
794
+ dc_site_id: Kategorija velja za stran
793
795
  updated_at: Podatki so bili zadnjič spremenjeni
794
796
 
795
797
  dc_mail:
data/drg_cms.gemspec CHANGED
@@ -14,17 +14,18 @@ Gem::Specification.new do |s|
14
14
  s.homepage = "http://www.drgcms.org"
15
15
  s.summary = "DRG CMS: Rapid web application development tool for Ruby, Rails and MongoDB"
16
16
  s.description = "DRG CMS can be used for rapid building of complex, data-entry intensive web sites as well as building your in-house private cloud applications."
17
- s.license = "MIT-LICENSE"
17
+ s.license = "MIT"
18
18
  s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.md", "History.log", "drg_cms.gemspec"]
19
19
  s.test_files = Dir["test/**/*"]
20
20
 
21
21
  s.add_dependency 'rails', '~> 4'
22
22
  s.add_dependency 'jquery-rails'
23
- s.add_dependency 'jquery-ui-rails'
23
+ s.add_dependency 'jquery-ui-rails', '~> 5'
24
+ s.add_dependency 'non-stupid-digest-assets'
24
25
 
25
26
  s.add_dependency 'bcrypt' #, '~> 3.0.0'
26
- s.add_dependency 'bson'
27
- s.add_dependency 'mongoid'
27
+ s.add_dependency 'mongoid', '~> 5'
28
+ s.add_dependency 'mongo_session_store-rails4'
28
29
  s.add_dependency 'kaminari'
29
30
  s.add_dependency 'font-awesome-rails'
30
31
  s.add_dependency 'sort_alphabetical'
@@ -1,4 +1,4 @@
1
1
  module DrgCms #:nodoc:
2
2
  # drg_cms gem version
3
- VERSION = "0.5.10.7"
3
+ VERSION = "0.5.10.10"
4
4
  end
@@ -46,6 +46,22 @@ namespace :drg_cms do
46
46
  DcSite.collection.database.command(eval: "db.runCommand ( { compact: 'sessions' } )" )
47
47
  end
48
48
 
49
+ ###########################################################################
50
+ desc 'Clears mongodb session documents created by web robots'
51
+ task :clear_sessions_from_robots, [:name] => :environment do |t, args|
52
+ # This should remove all sessions documents created by web robots
53
+ # ActionDispatch::Session::MongoidStore::Session.where('$where' => 'this.created_at == this.updated_at').limit(1000).each do |doc|
54
+ n = 0
55
+ ActionDispatch::Session::MongoidStore::Session.batch_size(1000).all.each do |doc|
56
+ if (doc.created_at == doc.updated_at)
57
+ doc.delete
58
+ p "Deleted #{n}" if (n+=1)%1000 == 0
59
+ end
60
+ end
61
+ p "Deleted #{n}"
62
+ DcSite.collection.database.command(eval: "db.runCommand ( { compact: 'sessions' } )" )
63
+ end
64
+
49
65
  ###########################################################################
50
66
  desc 'Removes all statistics from dc_visits up to specified date and save them to visits_date.json.'
51
67
  task :clear_visits, [:name] => :environment do |t, args|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drg_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.10.7
4
+ version: 0.5.10.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damjan Rems
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-07 00:00:00.000000000 Z
11
+ date: 2016-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -42,18 +42,18 @@ dependencies:
42
42
  name: jquery-ui-rails
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '5'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '5'
55
55
  - !ruby/object:Gem::Dependency
56
- name: bcrypt
56
+ name: non-stupid-digest-assets
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: bson
70
+ name: bcrypt
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -82,6 +82,20 @@ dependencies:
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: mongoid
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '5'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '5'
97
+ - !ruby/object:Gem::Dependency
98
+ name: mongo_session_store-rails4
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - ">="
@@ -349,7 +363,7 @@ files:
349
363
  - test/test_helper.rb
350
364
  homepage: http://www.drgcms.org
351
365
  licenses:
352
- - MIT-LICENSE
366
+ - MIT
353
367
  metadata: {}
354
368
  post_install_message:
355
369
  rdoc_options: []