ampere 1.1.1 → 1.2.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.
Files changed (87) hide show
  1. data/CHANGELOG.md +15 -0
  2. data/Gemfile +2 -2
  3. data/Gemfile.lock +36 -26
  4. data/README.md +25 -11
  5. data/Rakefile +10 -0
  6. data/VERSION +1 -1
  7. data/ampere.gemspec +83 -9
  8. data/example/.gitignore +5 -0
  9. data/example/.rspec +1 -0
  10. data/example/Gemfile +21 -0
  11. data/example/Gemfile.lock +143 -0
  12. data/example/README +261 -0
  13. data/example/Rakefile +7 -0
  14. data/example/app/assets/images/rails.png +0 -0
  15. data/example/app/assets/javascripts/application.js +9 -0
  16. data/example/app/assets/javascripts/posts.js.coffee +3 -0
  17. data/example/app/assets/stylesheets/application.css +7 -0
  18. data/example/app/assets/stylesheets/posts.css.scss +3 -0
  19. data/example/app/assets/stylesheets/scaffolds.css.scss +56 -0
  20. data/example/app/controllers/application_controller.rb +3 -0
  21. data/example/app/controllers/posts_controller.rb +83 -0
  22. data/example/app/helpers/application_helper.rb +2 -0
  23. data/example/app/helpers/posts_helper.rb +2 -0
  24. data/example/app/mailers/.gitkeep +0 -0
  25. data/example/app/models/.gitkeep +0 -0
  26. data/example/app/models/post.rb +7 -0
  27. data/example/app/views/layouts/application.html.erb +14 -0
  28. data/example/app/views/posts/_form.html.erb +25 -0
  29. data/example/app/views/posts/edit.html.erb +6 -0
  30. data/example/app/views/posts/index.html.erb +25 -0
  31. data/example/app/views/posts/new.html.erb +5 -0
  32. data/example/app/views/posts/show.html.erb +15 -0
  33. data/example/config/ampere.yml +11 -0
  34. data/example/config/application.rb +54 -0
  35. data/example/config/boot.rb +6 -0
  36. data/example/config/environment.rb +5 -0
  37. data/example/config/environments/development.rb +30 -0
  38. data/example/config/environments/production.rb +60 -0
  39. data/example/config/environments/test.rb +39 -0
  40. data/example/config/initializers/backtrace_silencers.rb +7 -0
  41. data/example/config/initializers/inflections.rb +10 -0
  42. data/example/config/initializers/mime_types.rb +5 -0
  43. data/example/config/initializers/secret_token.rb +7 -0
  44. data/example/config/initializers/session_store.rb +8 -0
  45. data/example/config/initializers/wrap_parameters.rb +10 -0
  46. data/example/config/locales/en.yml +5 -0
  47. data/example/config/routes.rb +60 -0
  48. data/example/config.ru +4 -0
  49. data/example/db/seeds.rb +7 -0
  50. data/example/lib/assets/.gitkeep +0 -0
  51. data/example/lib/tasks/.gitkeep +0 -0
  52. data/example/log/.gitkeep +0 -0
  53. data/example/public/404.html +26 -0
  54. data/example/public/422.html +26 -0
  55. data/example/public/500.html +26 -0
  56. data/example/public/favicon.ico +0 -0
  57. data/example/public/index.html +241 -0
  58. data/example/public/robots.txt +5 -0
  59. data/example/script/rails +6 -0
  60. data/example/spec/controllers/posts_controller_spec.rb +164 -0
  61. data/example/spec/helpers/posts_helper_spec.rb +15 -0
  62. data/example/spec/models/post_spec.rb +5 -0
  63. data/example/spec/requests/posts_spec.rb +11 -0
  64. data/example/spec/routing/posts_routing_spec.rb +35 -0
  65. data/example/spec/spec_helper.rb +34 -0
  66. data/example/spec/views/posts/edit.html.erb_spec.rb +20 -0
  67. data/example/spec/views/posts/index.html.erb_spec.rb +23 -0
  68. data/example/spec/views/posts/new.html.erb_spec.rb +20 -0
  69. data/example/spec/views/posts/show.html.erb_spec.rb +17 -0
  70. data/example/vendor/assets/stylesheets/.gitkeep +0 -0
  71. data/example/vendor/plugins/.gitkeep +0 -0
  72. data/lib/ampere/collection.rb +6 -0
  73. data/lib/ampere/keys.rb +37 -0
  74. data/lib/ampere/model.rb +117 -58
  75. data/lib/ampere/timestamps.rb +23 -0
  76. data/lib/ampere.rb +17 -1
  77. data/lib/rails/generators/ampere/config/config_generator.rb +15 -0
  78. data/lib/rails/generators/ampere/config/templates/ampere.yml +11 -0
  79. data/lib/rails/generators/ampere/model/model_generator.rb +27 -0
  80. data/lib/rails/generators/ampere/model/templates/model.rb.tt +10 -0
  81. data/lib/rails/railtie.rb +49 -0
  82. data/lib/rails/tasks/ampere.rake +7 -0
  83. data/spec/models/model_spec.rb +12 -2
  84. data/spec/models/timestamps_spec.rb +45 -0
  85. data/spec/module/collections_spec.rb +5 -0
  86. data/spec/spec_helper.rb +1 -0
  87. metadata +153 -29
data/CHANGELOG.md ADDED
@@ -0,0 +1,15 @@
1
+ # Changelog
2
+
3
+ ## 1.2.0
4
+
5
+ * Ampere model IDs are now integers. They are still stored internally the
6
+ same way as before, so a model named Post will have IDs like "post.3892".
7
+ * Rails integration is now complete!
8
+ + Add Ampere to your Gemfile.
9
+ + Type `rails generate ampere:config` to generate an example config file.
10
+ + Type `rake ampere:flush` to flush Redis (this will delete everything).
11
+ * Callbacks!
12
+ + `before_save`
13
+ + `before_create`
14
+ + More to come.
15
+ * Better test coverage.
data/Gemfile CHANGED
@@ -3,8 +3,7 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
 
6
- gem 'activesupport'
7
- gem 'activemodel'
6
+ gem 'activerecord'
8
7
  gem 'redis'
9
8
 
10
9
  # Add dependencies to develop your gem here.
@@ -17,4 +16,5 @@ group :development do
17
16
  gem 'simplecov', :require => false, :group => :test
18
17
  gem "rspec"
19
18
  gem "rdoc"
19
+ gem "timecop"
20
20
  end
data/Gemfile.lock CHANGED
@@ -1,21 +1,26 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- activemodel (3.2.3)
5
- activesupport (= 3.2.3)
4
+ activemodel (3.2.6)
5
+ activesupport (= 3.2.6)
6
6
  builder (~> 3.0.0)
7
- activesupport (3.2.3)
7
+ activerecord (3.2.6)
8
+ activemodel (= 3.2.6)
9
+ activesupport (= 3.2.6)
10
+ arel (~> 3.0.2)
11
+ tzinfo (~> 0.3.29)
12
+ activesupport (3.2.6)
8
13
  i18n (~> 0.6)
9
14
  multi_json (~> 1.0)
15
+ arel (3.0.2)
10
16
  builder (3.0.0)
11
- cucumber (1.1.3)
17
+ cucumber (1.2.1)
12
18
  builder (>= 2.1.2)
13
- diff-lcs (>= 1.1.2)
14
- gherkin (~> 2.6.7)
19
+ diff-lcs (>= 1.1.3)
20
+ gherkin (~> 2.11.0)
15
21
  json (>= 1.4.6)
16
- term-ansicolor (>= 1.0.6)
17
22
  diff-lcs (1.1.3)
18
- gherkin (2.6.8)
23
+ gherkin (2.11.0)
19
24
  json (>= 1.4.6)
20
25
  git (1.2.5)
21
26
  i18n (0.6.0)
@@ -23,33 +28,37 @@ GEM
23
28
  bundler (~> 1.0)
24
29
  git (>= 1.2.5)
25
30
  rake
26
- json (1.6.1)
27
- multi_json (1.0.4)
31
+ json (1.7.3)
32
+ multi_json (1.3.6)
28
33
  rake (0.9.2.2)
29
- rdoc (3.11)
34
+ rdoc (3.12)
30
35
  json (~> 1.4)
31
- redis (2.2.2)
32
- rspec (2.7.0)
33
- rspec-core (~> 2.7.0)
34
- rspec-expectations (~> 2.7.0)
35
- rspec-mocks (~> 2.7.0)
36
- rspec-core (2.7.1)
37
- rspec-expectations (2.7.0)
38
- diff-lcs (~> 1.1.2)
39
- rspec-mocks (2.7.0)
40
- shoulda (2.11.3)
41
- simplecov (0.5.4)
42
- multi_json (~> 1.0.3)
36
+ redis (3.0.1)
37
+ rspec (2.10.0)
38
+ rspec-core (~> 2.10.0)
39
+ rspec-expectations (~> 2.10.0)
40
+ rspec-mocks (~> 2.10.0)
41
+ rspec-core (2.10.1)
42
+ rspec-expectations (2.10.0)
43
+ diff-lcs (~> 1.1.3)
44
+ rspec-mocks (2.10.1)
45
+ shoulda (3.0.1)
46
+ shoulda-context (~> 1.0.0)
47
+ shoulda-matchers (~> 1.0.0)
48
+ shoulda-context (1.0.0)
49
+ shoulda-matchers (1.0.0)
50
+ simplecov (0.6.4)
51
+ multi_json (~> 1.0)
43
52
  simplecov-html (~> 0.5.3)
44
53
  simplecov-html (0.5.3)
45
- term-ansicolor (1.0.7)
54
+ timecop (0.3.5)
55
+ tzinfo (0.3.33)
46
56
 
47
57
  PLATFORMS
48
58
  ruby
49
59
 
50
60
  DEPENDENCIES
51
- activemodel
52
- activesupport
61
+ activerecord
53
62
  bundler (>= 1.0.0)
54
63
  cucumber
55
64
  jeweler (~> 1.6.4)
@@ -58,3 +67,4 @@ DEPENDENCIES
58
67
  rspec
59
68
  shoulda
60
69
  simplecov
70
+ timecop
data/README.md CHANGED
@@ -2,20 +2,23 @@
2
2
 
3
3
  Ampere is an ActiveRecord-style ORM for the Redis key/value data store.
4
4
 
5
- ## A note about Ampere version >1.0 (IMPORTANT!!!)
5
+ ## Usage
6
6
 
7
- For the 1.0 release I changed Ampere's API so that instead of subclassing
8
- `Ampere::Model` to use Ampere's methods, you include it as a mixin. This
9
- change has been reflected in the examples below.
7
+ Add it to your Gemfile:
10
8
 
11
- This change was to unify the usage of Ampere a little more with usage of
12
- Mongoid, and also so that users of Ampere can use their own class hierarchies,
13
- which at some later date might have significance with how Ampere works.
9
+ gem 'ampere', '1.2.0'
14
10
 
15
- ## Usage
11
+ Generate a config file:
12
+
13
+ rails generate ampere:config
14
+
15
+ Generate a model:
16
16
 
17
- Write a model class and make it inherit from the `Ampere::Model` class.
18
- These work pretty similarly to how they do in ActiveRecord or Mongoid.
17
+ rails generate model post title body
18
+
19
+ Ampere models include the `Ampere::Model` mixin, which gives them much
20
+ of the same kind of functionality you're used to in ActiveRecord or
21
+ Mongoid.
19
22
 
20
23
  class Car
21
24
  include Ampere::Model
@@ -58,7 +61,8 @@ be slower if one of the keys you are searching by isn't indexed).
58
61
  post = Post.where(:title => "BREAKING: Kitties Are Awesome").first
59
62
 
60
63
  Ampere query results implement the `Enumerable` module, so all the Enumerable methods
61
- you know and love are there.
64
+ you know and love are there. These are lazy-evaluative, only making queries to Redis
65
+ when an object is taken out of the collection. Treat them like Arrays, or don't.
62
66
 
63
67
  ### Indexes
64
68
 
@@ -112,6 +116,16 @@ You can now add validations to your Ampere models thanks to the magic of ActiveM
112
116
 
113
117
  It's that easy!
114
118
 
119
+ ## A note about Ampere version >1.0 (IMPORTANT!!!)
120
+
121
+ For the 1.0 release I changed Ampere's API so that instead of subclassing
122
+ `Ampere::Model` to use Ampere's methods, you include it as a mixin. This
123
+ change has been reflected in the examples above.
124
+
125
+ This change was to unify the usage of Ampere a little more with usage of
126
+ Mongoid, and also so that users of Ampere can use their own class hierarchies,
127
+ which at some later date might have significance with how Ampere works.
128
+
115
129
  ## Contributing to ampere
116
130
 
117
131
  * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
data/Rakefile CHANGED
@@ -47,3 +47,13 @@ RDoc::Task.new do |rdoc|
47
47
  rdoc.rdoc_files.include('README*')
48
48
  rdoc.rdoc_files.include('lib/**/*.rb')
49
49
  end
50
+
51
+ namespace :redis do
52
+ desc "Flush Redis data (warning: will flush EVERYTHING, including non-Ampere stuff)"
53
+ task :flush do
54
+ require 'redis'
55
+ Redis.new.flushall
56
+ puts "Redis data FLUSHED!"
57
+ end
58
+ end
59
+
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.1
1
+ 1.2.0
data/ampere.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "ampere"
8
- s.version = "1.1.1"
8
+ s.version = "1.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Max Thom Stahl"]
12
- s.date = "2012-05-12"
12
+ s.date = "2012-06-15"
13
13
  s.description = "An ActiveRecord/Mongoid-esque object model for the Redis key/value data store."
14
14
  s.email = "max@villainousindustri.es"
15
15
  s.extra_rdoc_files = [
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
20
20
  ".document",
21
21
  ".rspec",
22
22
  ".rvmrc",
23
+ "CHANGELOG.md",
23
24
  "Gemfile",
24
25
  "Gemfile.lock",
25
26
  "LICENSE.txt",
@@ -27,18 +28,91 @@ Gem::Specification.new do |s|
27
28
  "Rakefile",
28
29
  "VERSION",
29
30
  "ampere.gemspec",
31
+ "example/.gitignore",
32
+ "example/.rspec",
33
+ "example/Gemfile",
34
+ "example/Gemfile.lock",
35
+ "example/README",
36
+ "example/Rakefile",
37
+ "example/app/assets/images/rails.png",
38
+ "example/app/assets/javascripts/application.js",
39
+ "example/app/assets/javascripts/posts.js.coffee",
40
+ "example/app/assets/stylesheets/application.css",
41
+ "example/app/assets/stylesheets/posts.css.scss",
42
+ "example/app/assets/stylesheets/scaffolds.css.scss",
43
+ "example/app/controllers/application_controller.rb",
44
+ "example/app/controllers/posts_controller.rb",
45
+ "example/app/helpers/application_helper.rb",
46
+ "example/app/helpers/posts_helper.rb",
47
+ "example/app/mailers/.gitkeep",
48
+ "example/app/models/.gitkeep",
49
+ "example/app/models/post.rb",
50
+ "example/app/views/layouts/application.html.erb",
51
+ "example/app/views/posts/_form.html.erb",
52
+ "example/app/views/posts/edit.html.erb",
53
+ "example/app/views/posts/index.html.erb",
54
+ "example/app/views/posts/new.html.erb",
55
+ "example/app/views/posts/show.html.erb",
56
+ "example/config.ru",
57
+ "example/config/ampere.yml",
58
+ "example/config/application.rb",
59
+ "example/config/boot.rb",
60
+ "example/config/environment.rb",
61
+ "example/config/environments/development.rb",
62
+ "example/config/environments/production.rb",
63
+ "example/config/environments/test.rb",
64
+ "example/config/initializers/backtrace_silencers.rb",
65
+ "example/config/initializers/inflections.rb",
66
+ "example/config/initializers/mime_types.rb",
67
+ "example/config/initializers/secret_token.rb",
68
+ "example/config/initializers/session_store.rb",
69
+ "example/config/initializers/wrap_parameters.rb",
70
+ "example/config/locales/en.yml",
71
+ "example/config/routes.rb",
72
+ "example/db/seeds.rb",
73
+ "example/lib/assets/.gitkeep",
74
+ "example/lib/tasks/.gitkeep",
75
+ "example/log/.gitkeep",
76
+ "example/public/404.html",
77
+ "example/public/422.html",
78
+ "example/public/500.html",
79
+ "example/public/favicon.ico",
80
+ "example/public/index.html",
81
+ "example/public/robots.txt",
82
+ "example/script/rails",
83
+ "example/spec/controllers/posts_controller_spec.rb",
84
+ "example/spec/helpers/posts_helper_spec.rb",
85
+ "example/spec/models/post_spec.rb",
86
+ "example/spec/requests/posts_spec.rb",
87
+ "example/spec/routing/posts_routing_spec.rb",
88
+ "example/spec/spec_helper.rb",
89
+ "example/spec/views/posts/edit.html.erb_spec.rb",
90
+ "example/spec/views/posts/index.html.erb_spec.rb",
91
+ "example/spec/views/posts/new.html.erb_spec.rb",
92
+ "example/spec/views/posts/show.html.erb_spec.rb",
93
+ "example/vendor/assets/stylesheets/.gitkeep",
94
+ "example/vendor/plugins/.gitkeep",
30
95
  "features/ampere.feature",
31
96
  "features/step_definitions/ampere_steps.rb",
32
97
  "features/support/env.rb",
33
98
  "lib/ampere.rb",
34
99
  "lib/ampere/collection.rb",
100
+ "lib/ampere/keys.rb",
35
101
  "lib/ampere/model.rb",
102
+ "lib/ampere/timestamps.rb",
103
+ "lib/rails/generators/ampere/config/config_generator.rb",
104
+ "lib/rails/generators/ampere/config/templates/ampere.yml",
105
+ "lib/rails/generators/ampere/model/model_generator.rb",
106
+ "lib/rails/generators/ampere/model/templates/model.rb.tt",
107
+ "lib/rails/railtie.rb",
108
+ "lib/rails/tasks/ampere.rake",
36
109
  "spec/models/indices_spec.rb",
37
110
  "spec/models/model_spec.rb",
38
111
  "spec/models/queries_spec.rb",
39
112
  "spec/models/relationships/belongs_to_spec.rb",
40
113
  "spec/models/relationships/has_many_spec.rb",
41
114
  "spec/models/relationships/has_one_spec.rb",
115
+ "spec/models/timestamps_spec.rb",
42
116
  "spec/models/updates_spec.rb",
43
117
  "spec/models/validations_spec.rb",
44
118
  "spec/module/ampere_spec.rb",
@@ -51,15 +125,14 @@ Gem::Specification.new do |s|
51
125
  s.homepage = "http://github.com/mstahl/ampere"
52
126
  s.licenses = ["EPL"]
53
127
  s.require_paths = ["lib"]
54
- s.rubygems_version = "1.8.15"
128
+ s.rubygems_version = "1.8.24"
55
129
  s.summary = "A pure Ruby ORM for Redis."
56
130
 
57
131
  if s.respond_to? :specification_version then
58
132
  s.specification_version = 3
59
133
 
60
134
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
61
- s.add_runtime_dependency(%q<activesupport>, [">= 0"])
62
- s.add_runtime_dependency(%q<activemodel>, [">= 0"])
135
+ s.add_runtime_dependency(%q<activerecord>, [">= 0"])
63
136
  s.add_runtime_dependency(%q<redis>, [">= 0"])
64
137
  s.add_development_dependency(%q<shoulda>, [">= 0"])
65
138
  s.add_development_dependency(%q<cucumber>, [">= 0"])
@@ -68,9 +141,9 @@ Gem::Specification.new do |s|
68
141
  s.add_development_dependency(%q<simplecov>, [">= 0"])
69
142
  s.add_development_dependency(%q<rspec>, [">= 0"])
70
143
  s.add_development_dependency(%q<rdoc>, [">= 0"])
144
+ s.add_development_dependency(%q<timecop>, [">= 0"])
71
145
  else
72
- s.add_dependency(%q<activesupport>, [">= 0"])
73
- s.add_dependency(%q<activemodel>, [">= 0"])
146
+ s.add_dependency(%q<activerecord>, [">= 0"])
74
147
  s.add_dependency(%q<redis>, [">= 0"])
75
148
  s.add_dependency(%q<shoulda>, [">= 0"])
76
149
  s.add_dependency(%q<cucumber>, [">= 0"])
@@ -79,10 +152,10 @@ Gem::Specification.new do |s|
79
152
  s.add_dependency(%q<simplecov>, [">= 0"])
80
153
  s.add_dependency(%q<rspec>, [">= 0"])
81
154
  s.add_dependency(%q<rdoc>, [">= 0"])
155
+ s.add_dependency(%q<timecop>, [">= 0"])
82
156
  end
83
157
  else
84
- s.add_dependency(%q<activesupport>, [">= 0"])
85
- s.add_dependency(%q<activemodel>, [">= 0"])
158
+ s.add_dependency(%q<activerecord>, [">= 0"])
86
159
  s.add_dependency(%q<redis>, [">= 0"])
87
160
  s.add_dependency(%q<shoulda>, [">= 0"])
88
161
  s.add_dependency(%q<cucumber>, [">= 0"])
@@ -91,6 +164,7 @@ Gem::Specification.new do |s|
91
164
  s.add_dependency(%q<simplecov>, [">= 0"])
92
165
  s.add_dependency(%q<rspec>, [">= 0"])
93
166
  s.add_dependency(%q<rdoc>, [">= 0"])
167
+ s.add_dependency(%q<timecop>, [">= 0"])
94
168
  end
95
169
  end
96
170
 
@@ -0,0 +1,5 @@
1
+ .bundle
2
+ db/*.sqlite3
3
+ log/*.log
4
+ tmp/
5
+ .sass-cache/
data/example/.rspec ADDED
@@ -0,0 +1 @@
1
+ --colour
data/example/Gemfile ADDED
@@ -0,0 +1,21 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'ampere'
4
+ gem 'haml'
5
+ gem 'jquery-rails'
6
+ gem 'rails', '3.1.1'
7
+ gem 'unicorn'
8
+
9
+ # Gems used only for assets and not required
10
+ # in production environments by default.
11
+ group :assets do
12
+ gem 'sass-rails', '~> 3.1.4'
13
+ gem 'coffee-rails', '~> 3.1.1'
14
+ gem 'uglifier', '>= 1.0.3'
15
+ end
16
+
17
+ group :development do
18
+ gem 'rspec'
19
+ gem 'rspec-rails'
20
+ end
21
+
@@ -0,0 +1,143 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ actionmailer (3.1.1)
5
+ actionpack (= 3.1.1)
6
+ mail (~> 2.3.0)
7
+ actionpack (3.1.1)
8
+ activemodel (= 3.1.1)
9
+ activesupport (= 3.1.1)
10
+ builder (~> 3.0.0)
11
+ erubis (~> 2.7.0)
12
+ i18n (~> 0.6)
13
+ rack (~> 1.3.2)
14
+ rack-cache (~> 1.1)
15
+ rack-mount (~> 0.8.2)
16
+ rack-test (~> 0.6.1)
17
+ sprockets (~> 2.0.2)
18
+ activemodel (3.1.1)
19
+ activesupport (= 3.1.1)
20
+ builder (~> 3.0.0)
21
+ i18n (~> 0.6)
22
+ activerecord (3.1.1)
23
+ activemodel (= 3.1.1)
24
+ activesupport (= 3.1.1)
25
+ arel (~> 2.2.1)
26
+ tzinfo (~> 0.3.29)
27
+ activeresource (3.1.1)
28
+ activemodel (= 3.1.1)
29
+ activesupport (= 3.1.1)
30
+ activesupport (3.1.1)
31
+ multi_json (~> 1.0)
32
+ ampere (1.2.0)
33
+ activemodel
34
+ activesupport
35
+ redis
36
+ arel (2.2.3)
37
+ builder (3.0.0)
38
+ coffee-rails (3.1.1)
39
+ coffee-script (>= 2.2.0)
40
+ railties (~> 3.1.0)
41
+ coffee-script (2.2.0)
42
+ coffee-script-source
43
+ execjs
44
+ coffee-script-source (1.3.3)
45
+ diff-lcs (1.1.3)
46
+ erubis (2.7.0)
47
+ execjs (1.4.0)
48
+ multi_json (~> 1.0)
49
+ haml (3.1.6)
50
+ hike (1.2.1)
51
+ i18n (0.6.0)
52
+ jquery-rails (1.0.19)
53
+ railties (~> 3.0)
54
+ thor (~> 0.14)
55
+ json (1.7.3)
56
+ kgio (2.7.4)
57
+ mail (2.3.3)
58
+ i18n (>= 0.4.0)
59
+ mime-types (~> 1.16)
60
+ treetop (~> 1.4.8)
61
+ mime-types (1.18)
62
+ multi_json (1.3.6)
63
+ polyglot (0.3.3)
64
+ rack (1.3.6)
65
+ rack-cache (1.2)
66
+ rack (>= 0.4)
67
+ rack-mount (0.8.3)
68
+ rack (>= 1.0.0)
69
+ rack-ssl (1.3.2)
70
+ rack
71
+ rack-test (0.6.1)
72
+ rack (>= 1.0)
73
+ rails (3.1.1)
74
+ actionmailer (= 3.1.1)
75
+ actionpack (= 3.1.1)
76
+ activerecord (= 3.1.1)
77
+ activeresource (= 3.1.1)
78
+ activesupport (= 3.1.1)
79
+ bundler (~> 1.0)
80
+ railties (= 3.1.1)
81
+ railties (3.1.1)
82
+ actionpack (= 3.1.1)
83
+ activesupport (= 3.1.1)
84
+ rack-ssl (~> 1.3.2)
85
+ rake (>= 0.8.7)
86
+ rdoc (~> 3.4)
87
+ thor (~> 0.14.6)
88
+ raindrops (0.9.0)
89
+ rake (0.9.2.2)
90
+ rdoc (3.12)
91
+ json (~> 1.4)
92
+ redis (3.0.1)
93
+ rspec (2.10.0)
94
+ rspec-core (~> 2.10.0)
95
+ rspec-expectations (~> 2.10.0)
96
+ rspec-mocks (~> 2.10.0)
97
+ rspec-core (2.10.1)
98
+ rspec-expectations (2.10.0)
99
+ diff-lcs (~> 1.1.3)
100
+ rspec-mocks (2.10.1)
101
+ rspec-rails (2.10.1)
102
+ actionpack (>= 3.0)
103
+ activesupport (>= 3.0)
104
+ railties (>= 3.0)
105
+ rspec (~> 2.10.0)
106
+ sass (3.1.19)
107
+ sass-rails (3.1.6)
108
+ actionpack (~> 3.1.0)
109
+ railties (~> 3.1.0)
110
+ sass (>= 3.1.10)
111
+ tilt (~> 1.3.2)
112
+ sprockets (2.0.4)
113
+ hike (~> 1.2)
114
+ rack (~> 1.0)
115
+ tilt (~> 1.1, != 1.3.0)
116
+ thor (0.14.6)
117
+ tilt (1.3.3)
118
+ treetop (1.4.10)
119
+ polyglot
120
+ polyglot (>= 0.3.1)
121
+ tzinfo (0.3.33)
122
+ uglifier (1.2.4)
123
+ execjs (>= 0.3.0)
124
+ multi_json (>= 1.0.2)
125
+ unicorn (4.3.1)
126
+ kgio (~> 2.6)
127
+ rack
128
+ raindrops (~> 0.7)
129
+
130
+ PLATFORMS
131
+ ruby
132
+
133
+ DEPENDENCIES
134
+ ampere
135
+ coffee-rails (~> 3.1.1)
136
+ haml
137
+ jquery-rails
138
+ rails (= 3.1.1)
139
+ rspec
140
+ rspec-rails
141
+ sass-rails (~> 3.1.4)
142
+ uglifier (>= 1.0.3)
143
+ unicorn