multipluck 0.0.1

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 (47) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +17 -0
  3. data/Rakefile +38 -0
  4. data/lib/multipluck.rb +4 -0
  5. data/lib/multipluck/calculations.rb +23 -0
  6. data/lib/multipluck/version.rb +3 -0
  7. data/lib/tasks/multipluck_tasks.rake +4 -0
  8. data/test/dummy/README.rdoc +261 -0
  9. data/test/dummy/Rakefile +7 -0
  10. data/test/dummy/app/assets/javascripts/application.js +15 -0
  11. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  12. data/test/dummy/app/controllers/application_controller.rb +3 -0
  13. data/test/dummy/app/helpers/application_helper.rb +2 -0
  14. data/test/dummy/app/models/widget.rb +3 -0
  15. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  16. data/test/dummy/config.ru +4 -0
  17. data/test/dummy/config/application.rb +56 -0
  18. data/test/dummy/config/boot.rb +10 -0
  19. data/test/dummy/config/database.yml +25 -0
  20. data/test/dummy/config/environment.rb +5 -0
  21. data/test/dummy/config/environments/development.rb +37 -0
  22. data/test/dummy/config/environments/production.rb +67 -0
  23. data/test/dummy/config/environments/test.rb +37 -0
  24. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  25. data/test/dummy/config/initializers/inflections.rb +15 -0
  26. data/test/dummy/config/initializers/mime_types.rb +5 -0
  27. data/test/dummy/config/initializers/secret_token.rb +7 -0
  28. data/test/dummy/config/initializers/session_store.rb +8 -0
  29. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  30. data/test/dummy/config/locales/en.yml +5 -0
  31. data/test/dummy/config/routes.rb +58 -0
  32. data/test/dummy/db/development.sqlite3 +0 -0
  33. data/test/dummy/db/migrate/20120422025545_create_widgets.rb +13 -0
  34. data/test/dummy/db/schema.rb +26 -0
  35. data/test/dummy/db/test.sqlite3 +0 -0
  36. data/test/dummy/log/development.log +26 -0
  37. data/test/dummy/log/test.log +536 -0
  38. data/test/dummy/public/404.html +26 -0
  39. data/test/dummy/public/422.html +26 -0
  40. data/test/dummy/public/500.html +25 -0
  41. data/test/dummy/public/favicon.ico +0 -0
  42. data/test/dummy/script/rails +6 -0
  43. data/test/dummy/test/fixtures/widgets.yml +11 -0
  44. data/test/dummy/test/unit/widget_test.rb +7 -0
  45. data/test/multipluck_test.rb +33 -0
  46. data/test/test_helper.rb +15 -0
  47. metadata +152 -0
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/404.html -->
21
+ <div class="dialog">
22
+ <h1>The page you were looking for doesn't exist.</h1>
23
+ <p>You may have mistyped the address or the page may have moved.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ </div>
24
+ </body>
25
+ </html>
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,11 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html
2
+
3
+ one:
4
+ a_string: MyString
5
+ an_int:
6
+ a_decimal: 9.99
7
+
8
+ two:
9
+ a_string: MyString
10
+ an_int:
11
+ a_decimal: 9.99
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class WidgetTest < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -0,0 +1,33 @@
1
+ require_relative 'test_helper'
2
+
3
+ class MultipluckTest < ActiveSupport::TestCase
4
+
5
+ test "make sure normal pluck functionality still works" do
6
+ Widget.create!(an_int: 5)
7
+ assert_equal [5], Widget.pluck(:an_int)
8
+ end
9
+
10
+ test "normal pluck, multiple rows" do
11
+ Widget.create!(an_int: 5)
12
+ Widget.create!(an_int: 12)
13
+ assert_equal [5, 12], Widget.pluck(:an_int)
14
+ end
15
+
16
+ test "same parameter twice" do
17
+ Widget.create!(an_int: 5)
18
+ assert_equal [[5, 5]], Widget.pluck([:an_int, :an_int])
19
+ end
20
+
21
+ test "multiple parameters" do
22
+ Widget.create!(a_string: "cow", an_int: 5)
23
+ assert_equal [[5, "cow"]], Widget.pluck([:an_int, :a_string])
24
+ assert_equal [["cow", 5]], Widget.pluck([:a_string, :an_int])
25
+ end
26
+
27
+ test "multiple parameters / multiple rows" do
28
+ Widget.create!(a_string: "cow", an_int: 5)
29
+ Widget.create!(a_string: "dog", an_int: 12)
30
+ assert_equal [[5,"cow"], [12, "dog"]], Widget.pluck([:an_int, :a_string])
31
+ end
32
+
33
+ end
@@ -0,0 +1,15 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails/test_help"
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
8
+
9
+ # Load support files
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
11
+
12
+ # Load fixtures from the engine
13
+ if ActiveSupport::TestCase.method_defined?(:fixture_path=)
14
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
15
+ end
metadata ADDED
@@ -0,0 +1,152 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: multipluck
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - David Wright
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-04-23 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: &70275429928780 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 3.2.3
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70275429928780
25
+ - !ruby/object:Gem::Dependency
26
+ name: sqlite3
27
+ requirement: &70275429927040 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70275429927040
36
+ description:
37
+ email:
38
+ - davidwright@gmail.com
39
+ executables: []
40
+ extensions: []
41
+ extra_rdoc_files: []
42
+ files:
43
+ - lib/multipluck/calculations.rb
44
+ - lib/multipluck/version.rb
45
+ - lib/multipluck.rb
46
+ - lib/tasks/multipluck_tasks.rake
47
+ - MIT-LICENSE
48
+ - Rakefile
49
+ - README.rdoc
50
+ - test/dummy/app/assets/javascripts/application.js
51
+ - test/dummy/app/assets/stylesheets/application.css
52
+ - test/dummy/app/controllers/application_controller.rb
53
+ - test/dummy/app/helpers/application_helper.rb
54
+ - test/dummy/app/models/widget.rb
55
+ - test/dummy/app/views/layouts/application.html.erb
56
+ - test/dummy/config/application.rb
57
+ - test/dummy/config/boot.rb
58
+ - test/dummy/config/database.yml
59
+ - test/dummy/config/environment.rb
60
+ - test/dummy/config/environments/development.rb
61
+ - test/dummy/config/environments/production.rb
62
+ - test/dummy/config/environments/test.rb
63
+ - test/dummy/config/initializers/backtrace_silencers.rb
64
+ - test/dummy/config/initializers/inflections.rb
65
+ - test/dummy/config/initializers/mime_types.rb
66
+ - test/dummy/config/initializers/secret_token.rb
67
+ - test/dummy/config/initializers/session_store.rb
68
+ - test/dummy/config/initializers/wrap_parameters.rb
69
+ - test/dummy/config/locales/en.yml
70
+ - test/dummy/config/routes.rb
71
+ - test/dummy/config.ru
72
+ - test/dummy/db/development.sqlite3
73
+ - test/dummy/db/migrate/20120422025545_create_widgets.rb
74
+ - test/dummy/db/schema.rb
75
+ - test/dummy/db/test.sqlite3
76
+ - test/dummy/log/development.log
77
+ - test/dummy/log/test.log
78
+ - test/dummy/public/404.html
79
+ - test/dummy/public/422.html
80
+ - test/dummy/public/500.html
81
+ - test/dummy/public/favicon.ico
82
+ - test/dummy/Rakefile
83
+ - test/dummy/README.rdoc
84
+ - test/dummy/script/rails
85
+ - test/dummy/test/fixtures/widgets.yml
86
+ - test/dummy/test/unit/widget_test.rb
87
+ - test/multipluck_test.rb
88
+ - test/test_helper.rb
89
+ homepage: https://github.com/hanzq/multipluck
90
+ licenses: []
91
+ post_install_message:
92
+ rdoc_options: []
93
+ require_paths:
94
+ - lib
95
+ required_ruby_version: !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ! '>='
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ required_rubygems_version: !ruby/object:Gem::Requirement
102
+ none: false
103
+ requirements:
104
+ - - ! '>='
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ requirements: []
108
+ rubyforge_project:
109
+ rubygems_version: 1.8.10
110
+ signing_key:
111
+ specification_version: 3
112
+ summary: Use the ActiveRecord pluck to pluck multiple columns instead of just one
113
+ test_files:
114
+ - test/dummy/app/assets/javascripts/application.js
115
+ - test/dummy/app/assets/stylesheets/application.css
116
+ - test/dummy/app/controllers/application_controller.rb
117
+ - test/dummy/app/helpers/application_helper.rb
118
+ - test/dummy/app/models/widget.rb
119
+ - test/dummy/app/views/layouts/application.html.erb
120
+ - test/dummy/config/application.rb
121
+ - test/dummy/config/boot.rb
122
+ - test/dummy/config/database.yml
123
+ - test/dummy/config/environment.rb
124
+ - test/dummy/config/environments/development.rb
125
+ - test/dummy/config/environments/production.rb
126
+ - test/dummy/config/environments/test.rb
127
+ - test/dummy/config/initializers/backtrace_silencers.rb
128
+ - test/dummy/config/initializers/inflections.rb
129
+ - test/dummy/config/initializers/mime_types.rb
130
+ - test/dummy/config/initializers/secret_token.rb
131
+ - test/dummy/config/initializers/session_store.rb
132
+ - test/dummy/config/initializers/wrap_parameters.rb
133
+ - test/dummy/config/locales/en.yml
134
+ - test/dummy/config/routes.rb
135
+ - test/dummy/config.ru
136
+ - test/dummy/db/development.sqlite3
137
+ - test/dummy/db/migrate/20120422025545_create_widgets.rb
138
+ - test/dummy/db/schema.rb
139
+ - test/dummy/db/test.sqlite3
140
+ - test/dummy/log/development.log
141
+ - test/dummy/log/test.log
142
+ - test/dummy/public/404.html
143
+ - test/dummy/public/422.html
144
+ - test/dummy/public/500.html
145
+ - test/dummy/public/favicon.ico
146
+ - test/dummy/Rakefile
147
+ - test/dummy/README.rdoc
148
+ - test/dummy/script/rails
149
+ - test/dummy/test/fixtures/widgets.yml
150
+ - test/dummy/test/unit/widget_test.rb
151
+ - test/multipluck_test.rb
152
+ - test/test_helper.rb