atomic_cms 0.2.5 → 0.3.0

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: 728586a5dfb314682f1e61766fa29c5922022335
4
- data.tar.gz: 3ca845f9f74da4c203ba77c7cc4883d12a1c6b35
3
+ metadata.gz: 0d5ba8b247e0e2df3c7f9c4d6341a4de336c5891
4
+ data.tar.gz: e4a7d558023ea759f664a75448f130b125eba4e1
5
5
  SHA512:
6
- metadata.gz: 8aec4890792f8fc849e0443f086dbbf99e2ef735abd0aa4c9b018ab6c8b5cef5297a43db377ef319dfe87b93134c4db09dc297ce5451c2b9c6b14d1d00203ec6
7
- data.tar.gz: 043a15c92a21e2277c3095163716560d7c650dd05a3c75c54a18aff87d19d0062fdd2bf7035cc1222c613de3575bf9ffd73738b800a497b960147c178a4d270c
6
+ metadata.gz: 2e75064a5b2922819dfe93825c1665ffa71dcc24320e5797c8b2f8d392bc3ace447926b3393c981ad33da0ad6aca4e09bb21e29b703944b87bbae031153d85d1
7
+ data.tar.gz: 50d6551c23cf38999f55017abda4bbf28c429039102b1738e03a0d9ea5a75f9a91adf13ced235de9f93adb4cf9ed6bf18dbbbd460d324041afc4b4eba218a27d
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
1
  .bundle/
2
+ Gemfile.lock
2
3
  log/*.log
3
4
  pkg/
4
5
  *.gem
data/.hound.yml ADDED
@@ -0,0 +1,2 @@
1
+ ruby:
2
+ config_file: .rubocop.yml
data/.rubocop.yml CHANGED
@@ -1,5 +1,33 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.3
3
+
1
4
  Style/Documentation:
2
5
  Enabled: false
3
6
 
7
+ Style/DotPosition:
8
+ EnforcedStyle: leading
9
+ SupportedStyles:
10
+ - leading
11
+ - trailing
12
+
13
+ Style/FrozenStringLiteralComment:
14
+ EnforcedStyle: when_needed
15
+ SupportedStyles:
16
+ - when_needed
17
+ - always
18
+ - never
19
+
4
20
  Style/StringLiterals:
5
- Enabled: false
21
+ EnforcedStyle: single_quotes
22
+ SupportedStyles:
23
+ - single_quotes
24
+ - double_quotes
25
+ ConsistentQuotesInMultiline: false
26
+
27
+ Style/StringLiteralsInInterpolation:
28
+ EnforcedStyle: single_quotes
29
+ SupportedStyles:
30
+ - single_quotes
31
+ - double_quotes
32
+
33
+
data/Gemfile CHANGED
@@ -1,2 +1,2 @@
1
- source 'http://rubygems.org'
1
+ source 'https://rubygems.org'
2
2
  gemspec
@@ -39,6 +39,13 @@
39
39
 
40
40
  page = angular.module('page', ['markdown', 'ngSanitize']);
41
41
 
42
+ page.config(function($sceDelegateProvider) {
43
+ $sceDelegateProvider.resourceUrlWhitelist([
44
+ 'self',
45
+ 'http://s3.amazonaws.com/**'
46
+ ]);
47
+ });
48
+
42
49
  page.filter('vimeo_url', [
43
50
  '$sce', function($sce) {
44
51
  return function(id) {
@@ -141,6 +148,7 @@
141
148
  $editor.find(':file').each(function() {
142
149
  var $input = $(this);
143
150
  var $next = $($input.siblings('input'));
151
+ var $errors = $($input.siblings('div.errors'));
144
152
  $input.attr('name', null).val('');
145
153
 
146
154
  $input.on('change', function(event) {
@@ -159,6 +167,11 @@
159
167
  var parsed = JSON.parse(data);
160
168
  $next.val(parsed.url);
161
169
  $next.change();
170
+ $errors.empty();
171
+ },
172
+ error: function (response) {
173
+ var data = JSON.parse(response.responseText);
174
+ $errors.text(data.errors.file[0]);
162
175
  }
163
176
  });
164
177
  });
@@ -5,7 +5,8 @@ module AtomicCms
5
5
  if asset.save
6
6
  render json: { url: asset.url }.to_json, status: :created
7
7
  else
8
- render json: {}.to_json, status: :unprocessable_entity
8
+ render json: { errors: asset.errors }.to_json,
9
+ status: :unprocessable_entity
9
10
  end
10
11
  end
11
12
 
@@ -1,5 +1,5 @@
1
1
  class MediaScrubber
2
- attr_accessor :original, :filtered
2
+ attr_accessor :original, :filtered, :errors
3
3
 
4
4
  def initialize(args)
5
5
  @original = args.fetch(:file, nil)
@@ -8,12 +8,16 @@ class MediaScrubber
8
8
 
9
9
  def infer_media_type
10
10
  return nil unless original.respond_to?(:content_type)
11
- AtomicCms::Image.new(file: original) if original.content_type.match(/image/)
11
+ params = { file: original }
12
+ return AtomicCms::Image.new(params) if original.content_type =~ /image/
13
+ AtomicCms::Video.new(params) if original.content_type =~ /video/
12
14
  end
13
15
 
14
16
  def valid?
15
17
  return false unless filtered
16
- filtered.valid?
18
+ return true if filtered.valid?
19
+ @errors = filtered.errors
20
+ false
17
21
  end
18
22
 
19
23
  def save
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+ module AtomicCms
3
+ class Video < Media
4
+ validates_attachment :file, presence: true,
5
+ content_type: { content_type: /\Avideo/ }
6
+ end
7
+ end
@@ -0,0 +1,3 @@
1
+ span.li.string.input
2
+ label.label #{name.to_s.humanize}
3
+ input.cms-field.datepicker type="text" name="#{name}" value="#{value}" data-ng-model="preview.#{name}"
@@ -2,4 +2,5 @@ span.li.string.input
2
2
  label.label #{name.to_s.humanize}
3
3
  input.cms-field type="file"
4
4
  label.label.filler #{name.to_s.humanize}
5
+ .errors
5
6
  input.cms-field type="text" name="#{name}" data-ng-model="preview.#{name}" value="#{value}"
data/atomic_cms.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'atomic_cms'
3
- s.version = '0.2.5'
3
+ s.version = '0.3.0'
4
4
  s.summary = 'Atomic CMS'
5
5
  s.description = 'Live CMS powered by atomic assets.'
6
6
  s.authors = ['Don Humphreys', 'Spartan']
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
8
8
  s.files = `git ls-files`.split(/\n/)
9
9
  s.test_files = Dir['spec/**/*']
10
10
  s.homepage = 'https://github.com/spartansystems/atomic_cms'
11
- s.license = 'MIT'
11
+ s.license = 'MIT'
12
12
 
13
13
  s.add_dependency 'rails', '~> 4.2'
14
14
  s.add_dependency 'activeadmin', '1.0.0.pre2'
@@ -1,4 +1,5 @@
1
- require "rails_helper"
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
2
3
 
3
4
  RSpec.describe AtomicCms::MediaController, type: :controller do
4
5
  # Previously the engines guide contained an incorrect example that
@@ -8,23 +9,24 @@ RSpec.describe AtomicCms::MediaController, type: :controller do
8
9
  # in the test case with `Foo::Engine.routes`.
9
10
  before { @routes = AtomicCms::Engine.routes }
10
11
 
11
- it "accepts a post request and fails with bad data" do
12
- scrubber = double("scrubber")
12
+ it 'accepts a post request and fails with bad data' do
13
+ scrubber = double('scrubber')
13
14
  allow(MediaScrubber).to receive(:new).and_return(scrubber)
14
15
  allow(scrubber).to receive(:save).and_return(false)
16
+ allow(scrubber).to receive(:errors)
15
17
 
16
- post :create, file: double("file")
18
+ post :create, file: double('file')
17
19
 
18
20
  expect(response).to have_http_status(:unprocessable_entity)
19
21
  end
20
22
 
21
- it "accepts a post with an image" do
22
- scrubber = double("scrubber", save: true, url: "http://www.google.com")
23
+ it 'accepts a post with a file' do
24
+ scrubber = double('scrubber', save: true, url: 'http://www.google.com')
23
25
  expect(MediaScrubber).to receive(:new).and_return(scrubber)
24
26
 
25
- post :create, file: double("file")
27
+ post :create, file: double('file')
26
28
 
27
29
  expect(response).to have_http_status(:created)
28
- expect(response.body).to include("http://www.google.com")
30
+ expect(response.body).to include('http://www.google.com')
29
31
  end
30
32
  end
@@ -3,6 +3,7 @@ require 'rails_helper'
3
3
  RSpec.describe MediaScrubber do
4
4
  let(:path) { File.expand_path('../../uploads', __FILE__) }
5
5
  let(:image) { File.open("#{path}/cat.jpg") }
6
+ let(:video) { File.open("#{path}/small.mp4") }
6
7
 
7
8
  it 'takes a file as an argument' do
8
9
  something = double('some_document')
@@ -16,6 +17,12 @@ RSpec.describe MediaScrubber do
16
17
  expect(m.infer_media_type.class).to be(AtomicCms::Image)
17
18
  end
18
19
 
20
+ it 'returns a Video if the file type is a video' do
21
+ allow(video).to receive(:content_type).and_return('video/mp4')
22
+ m = MediaScrubber.new(file: video)
23
+ expect(m.infer_media_type.class).to be(AtomicCms::Video)
24
+ end
25
+
19
26
  it 'returns nil if not supported' do
20
27
  something_else = double('some_document', content_type: 'rando')
21
28
  m = MediaScrubber.new(file: something_else)
@@ -35,15 +42,23 @@ RSpec.describe MediaScrubber do
35
42
  expect(m.valid?).to be(false)
36
43
  end
37
44
 
38
- it 'passes the valid call onto the underlying Object if filtered' do
45
+ it 'returns true if underlying Object is filtered' do
39
46
  m = MediaScrubber.new(file: image)
40
47
  m.filtered = spy('underlying_asset')
41
- allow(m.filtered).to receive(:valid?).and_return(:true)
48
+ allow(m.filtered).to receive(:valid?).and_return(true)
42
49
 
43
- m.valid?
50
+ expect(m.valid?).to be(true)
44
51
 
45
52
  expect(m.filtered).to have_received(:valid?)
46
53
  end
54
+
55
+ it 'returns false if underlying Object is not filtered' do
56
+ m = MediaScrubber.new(file: image)
57
+ m.filtered = spy('underlying_asset')
58
+ allow(m.filtered).to receive(:valid?).and_return(false)
59
+
60
+ expect(m.valid?).to be(false)
61
+ end
47
62
  end
48
63
 
49
64
  context '#save' do
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ describe AtomicCms::Video do
5
+ it_behaves_like 'media upload'
6
+
7
+ context 'file validations' do
8
+ it { should validate_attachment_presence(:file) }
9
+ it 'validates the content types' do
10
+ should validate_attachment_content_type(:file)
11
+ .allowing('video/mp4', 'video/x-msvideo', 'video/x-ms-wmv')
12
+ end
13
+ end
14
+ end
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: atomic_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Don Humphreys
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-01-29 00:00:00.000000000 Z
12
+ date: 2016-12-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -235,12 +235,12 @@ extra_rdoc_files: []
235
235
  files:
236
236
  - ".eslintrc"
237
237
  - ".gitignore"
238
+ - ".hound.yml"
238
239
  - ".rspec"
239
240
  - ".rubocop.yml"
240
241
  - ".ruby-version"
241
242
  - CHANGELOG.md
242
243
  - Gemfile
243
- - Gemfile.lock
244
244
  - README.md
245
245
  - Rakefile
246
246
  - app/assets/images/icon_add_component.png
@@ -254,7 +254,9 @@ files:
254
254
  - app/helpers/component_helper.rb
255
255
  - app/models/atomic_cms/image.rb
256
256
  - app/models/atomic_cms/media.rb
257
+ - app/models/atomic_cms/video.rb
257
258
  - app/views/components/_children_field.html.slim
259
+ - app/views/components/_datepicker_field.html.slim
258
260
  - app/views/components/_edit.html.slim
259
261
  - app/views/components/_file_field.slim
260
262
  - app/views/components/_markdown_field.slim
@@ -309,10 +311,8 @@ files:
309
311
  - spec/dummy/config/locales/en.yml
310
312
  - spec/dummy/config/routes.rb
311
313
  - spec/dummy/config/secrets.yml
312
- - spec/dummy/db/development.sqlite3
313
314
  - spec/dummy/db/schema.rb
314
315
  - spec/dummy/db/test.sqlite3
315
- - spec/dummy/log/development.log
316
316
  - spec/dummy/log/test.log
317
317
  - spec/dummy/public/404.html
318
318
  - spec/dummy/public/422.html
@@ -320,11 +320,13 @@ files:
320
320
  - spec/dummy/public/favicon.ico
321
321
  - spec/models/image_spec.rb
322
322
  - spec/models/media_spec.rb
323
+ - spec/models/video_spec.rb
323
324
  - spec/rails_helper.rb
324
325
  - spec/spec_helper.rb
325
326
  - spec/support/media_upload_shared_examples.rb
326
327
  - spec/uploads/cat.jpg
327
328
  - spec/uploads/pdf.pdf
329
+ - spec/uploads/small.mp4
328
330
  - vendor/assets/javascripts/angular-markdown.js
329
331
  - vendor/assets/javascripts/showdown.min.js
330
332
  homepage: https://github.com/spartansystems/atomic_cms
@@ -347,7 +349,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
347
349
  version: '0'
348
350
  requirements: []
349
351
  rubyforge_project:
350
- rubygems_version: 2.5.1
352
+ rubygems_version: 2.6.4
351
353
  signing_key:
352
354
  specification_version: 4
353
355
  summary: Atomic CMS
@@ -382,10 +384,8 @@ test_files:
382
384
  - spec/dummy/config/routes.rb
383
385
  - spec/dummy/config/secrets.yml
384
386
  - spec/dummy/config.ru
385
- - spec/dummy/db/development.sqlite3
386
387
  - spec/dummy/db/schema.rb
387
388
  - spec/dummy/db/test.sqlite3
388
- - spec/dummy/log/development.log
389
389
  - spec/dummy/log/test.log
390
390
  - spec/dummy/public/404.html
391
391
  - spec/dummy/public/422.html
@@ -395,8 +395,10 @@ test_files:
395
395
  - spec/dummy/README.rdoc
396
396
  - spec/models/image_spec.rb
397
397
  - spec/models/media_spec.rb
398
+ - spec/models/video_spec.rb
398
399
  - spec/rails_helper.rb
399
400
  - spec/spec_helper.rb
400
401
  - spec/support/media_upload_shared_examples.rb
401
402
  - spec/uploads/cat.jpg
402
403
  - spec/uploads/pdf.pdf
404
+ - spec/uploads/small.mp4
data/Gemfile.lock DELETED
@@ -1,241 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- atomic_cms (0.2.2)
5
- activeadmin (= 1.0.0.pre2)
6
- atomic_assets (~> 0.1.0)
7
- jquery-rails (~> 4.0, >= 4.0.3)
8
- paperclip (~> 4.3)
9
- rails (~> 4.2)
10
- redcarpet (~> 3.3)
11
- slim-rails (~> 3.0)
12
-
13
- GEM
14
- remote: http://rubygems.org/
15
- specs:
16
- actionmailer (4.2.4)
17
- actionpack (= 4.2.4)
18
- actionview (= 4.2.4)
19
- activejob (= 4.2.4)
20
- mail (~> 2.5, >= 2.5.4)
21
- rails-dom-testing (~> 1.0, >= 1.0.5)
22
- actionpack (4.2.4)
23
- actionview (= 4.2.4)
24
- activesupport (= 4.2.4)
25
- rack (~> 1.6)
26
- rack-test (~> 0.6.2)
27
- rails-dom-testing (~> 1.0, >= 1.0.5)
28
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
29
- actionview (4.2.4)
30
- activesupport (= 4.2.4)
31
- builder (~> 3.1)
32
- erubis (~> 2.7.0)
33
- rails-dom-testing (~> 1.0, >= 1.0.5)
34
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
35
- activeadmin (1.0.0.pre2)
36
- arbre (~> 1.0, >= 1.0.2)
37
- bourbon
38
- coffee-rails
39
- formtastic (~> 3.1)
40
- formtastic_i18n
41
- inherited_resources (~> 1.6)
42
- jquery-rails
43
- jquery-ui-rails
44
- kaminari (~> 0.15)
45
- rails (>= 3.2, < 5.0)
46
- ransack (~> 1.3)
47
- sass-rails
48
- activejob (4.2.4)
49
- activesupport (= 4.2.4)
50
- globalid (>= 0.3.0)
51
- activemodel (4.2.4)
52
- activesupport (= 4.2.4)
53
- builder (~> 3.1)
54
- activerecord (4.2.4)
55
- activemodel (= 4.2.4)
56
- activesupport (= 4.2.4)
57
- arel (~> 6.0)
58
- activesupport (4.2.4)
59
- i18n (~> 0.7)
60
- json (~> 1.7, >= 1.7.7)
61
- minitest (~> 5.1)
62
- thread_safe (~> 0.3, >= 0.3.4)
63
- tzinfo (~> 1.1)
64
- arbre (1.0.3)
65
- activesupport (>= 3.0.0)
66
- arel (6.0.3)
67
- atomic_assets (0.1.0)
68
- draper (~> 2.1)
69
- bourbon (4.2.6)
70
- sass (~> 3.4)
71
- thor (~> 0.19)
72
- builder (3.2.2)
73
- climate_control (0.0.3)
74
- activesupport (>= 3.0)
75
- cocaine (0.5.7)
76
- climate_control (>= 0.0.3, < 1.0)
77
- coffee-rails (4.1.0)
78
- coffee-script (>= 2.2.0)
79
- railties (>= 4.0.0, < 5.0)
80
- coffee-script (2.4.1)
81
- coffee-script-source
82
- execjs
83
- coffee-script-source (1.9.1.1)
84
- diff-lcs (1.2.5)
85
- draper (2.1.0)
86
- actionpack (>= 3.0)
87
- activemodel (>= 3.0)
88
- activesupport (>= 3.0)
89
- request_store (~> 1.0)
90
- erubis (2.7.0)
91
- execjs (2.6.0)
92
- factory_girl (4.5.0)
93
- activesupport (>= 3.0.0)
94
- factory_girl_rails (4.5.0)
95
- factory_girl (~> 4.5.0)
96
- railties (>= 3.0.0)
97
- formtastic (3.1.3)
98
- actionpack (>= 3.2.13)
99
- formtastic_i18n (0.4.1)
100
- globalid (0.3.6)
101
- activesupport (>= 4.1.0)
102
- has_scope (0.6.0)
103
- actionpack (>= 3.2, < 5)
104
- activesupport (>= 3.2, < 5)
105
- i18n (0.7.0)
106
- inherited_resources (1.6.0)
107
- actionpack (>= 3.2, < 5)
108
- has_scope (~> 0.6.0.rc)
109
- railties (>= 3.2, < 5)
110
- responders
111
- jquery-rails (4.0.5)
112
- rails-dom-testing (~> 1.0)
113
- railties (>= 4.2.0)
114
- thor (>= 0.14, < 2.0)
115
- jquery-ui-rails (5.0.5)
116
- railties (>= 3.2.16)
117
- json (1.8.3)
118
- kaminari (0.16.3)
119
- actionpack (>= 3.0.0)
120
- activesupport (>= 3.0.0)
121
- loofah (2.0.3)
122
- nokogiri (>= 1.5.9)
123
- mail (2.6.3)
124
- mime-types (>= 1.16, < 3)
125
- mime-types (2.6.2)
126
- mimemagic (0.3.0)
127
- mini_portile (0.6.2)
128
- minitest (5.8.1)
129
- nokogiri (1.6.6.2)
130
- mini_portile (~> 0.6.0)
131
- paperclip (4.3.1)
132
- activemodel (>= 3.2.0)
133
- activesupport (>= 3.2.0)
134
- cocaine (~> 0.5.5)
135
- mime-types
136
- mimemagic (= 0.3.0)
137
- polyamorous (1.2.0)
138
- activerecord (>= 3.0)
139
- rack (1.6.4)
140
- rack-test (0.6.3)
141
- rack (>= 1.0)
142
- rails (4.2.4)
143
- actionmailer (= 4.2.4)
144
- actionpack (= 4.2.4)
145
- actionview (= 4.2.4)
146
- activejob (= 4.2.4)
147
- activemodel (= 4.2.4)
148
- activerecord (= 4.2.4)
149
- activesupport (= 4.2.4)
150
- bundler (>= 1.3.0, < 2.0)
151
- railties (= 4.2.4)
152
- sprockets-rails
153
- rails-deprecated_sanitizer (1.0.3)
154
- activesupport (>= 4.2.0.alpha)
155
- rails-dom-testing (1.0.7)
156
- activesupport (>= 4.2.0.beta, < 5.0)
157
- nokogiri (~> 1.6.0)
158
- rails-deprecated_sanitizer (>= 1.0.1)
159
- rails-html-sanitizer (1.0.2)
160
- loofah (~> 2.0)
161
- railties (4.2.4)
162
- actionpack (= 4.2.4)
163
- activesupport (= 4.2.4)
164
- rake (>= 0.8.7)
165
- thor (>= 0.18.1, < 2.0)
166
- rake (10.4.2)
167
- ransack (1.7.0)
168
- actionpack (>= 3.0)
169
- activerecord (>= 3.0)
170
- activesupport (>= 3.0)
171
- i18n
172
- polyamorous (~> 1.2)
173
- redcarpet (3.3.3)
174
- request_store (1.2.0)
175
- responders (2.1.0)
176
- railties (>= 4.2.0, < 5)
177
- rspec-core (3.3.2)
178
- rspec-support (~> 3.3.0)
179
- rspec-expectations (3.3.1)
180
- diff-lcs (>= 1.2.0, < 2.0)
181
- rspec-support (~> 3.3.0)
182
- rspec-mocks (3.3.2)
183
- diff-lcs (>= 1.2.0, < 2.0)
184
- rspec-support (~> 3.3.0)
185
- rspec-rails (3.3.3)
186
- actionpack (>= 3.0, < 4.3)
187
- activesupport (>= 3.0, < 4.3)
188
- railties (>= 3.0, < 4.3)
189
- rspec-core (~> 3.3.0)
190
- rspec-expectations (~> 3.3.0)
191
- rspec-mocks (~> 3.3.0)
192
- rspec-support (~> 3.3.0)
193
- rspec-support (3.3.0)
194
- sass (3.4.19)
195
- sass-rails (5.0.4)
196
- railties (>= 4.0.0, < 5.0)
197
- sass (~> 3.1)
198
- sprockets (>= 2.8, < 4.0)
199
- sprockets-rails (>= 2.0, < 4.0)
200
- tilt (>= 1.1, < 3)
201
- shoulda-matchers (3.0.0)
202
- activesupport (>= 4.0.0)
203
- slim (3.0.6)
204
- temple (~> 0.7.3)
205
- tilt (>= 1.3.3, < 2.1)
206
- slim-rails (3.0.1)
207
- actionmailer (>= 3.1, < 5.0)
208
- actionpack (>= 3.1, < 5.0)
209
- activesupport (>= 3.1, < 5.0)
210
- railties (>= 3.1, < 5.0)
211
- slim (~> 3.0)
212
- sprockets (3.4.0)
213
- rack (> 1, < 3)
214
- sprockets-rails (2.3.3)
215
- actionpack (>= 3.0)
216
- activesupport (>= 3.0)
217
- sprockets (>= 2.8, < 4.0)
218
- sqlite3 (1.3.11)
219
- temple (0.7.6)
220
- thor (0.19.1)
221
- thread_safe (0.3.5)
222
- tilt (2.0.1)
223
- tzinfo (1.2.2)
224
- thread_safe (~> 0.1)
225
-
226
- PLATFORMS
227
- ruby
228
-
229
- DEPENDENCIES
230
- atomic_cms!
231
- factory_girl_rails
232
- rspec-core (~> 3.3)
233
- rspec-expectations (~> 3.3)
234
- rspec-mocks (~> 3.3)
235
- rspec-rails
236
- rspec-support (~> 3.3)
237
- shoulda-matchers
238
- sqlite3
239
-
240
- BUNDLED WITH
241
- 1.10.6