census 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +21 -0
- data/VERSION +1 -1
- data/generators/census/templates/migrations/with_users.rb +8 -8
- data/generators/census/templates/migrations/without_users.rb +8 -8
- data/lib/census/user.rb +14 -0
- data/lib/census/user_data.rb +14 -2
- data/test/models/user_test.rb +76 -0
- data/test/rails_root/config/environment.rb +37 -4
- data/test/rails_root/config/environments/test.rb +3 -3
- data/test/rails_root/config/initializers/cookie_verification_secret.rb +7 -0
- data/test/rails_root/config/initializers/session_store.rb +1 -1
- data/test/rails_root/db/migrate/{20100421154808_create_census_tables.rb → 20100526201135_create_census_tables.rb} +8 -8
- data/test/rails_root/db/schema.rb +5 -5
- metadata +48 -20
- data/test/rails_root/vendor/gems/acts_as_list-0.1.2/lib/acts_as_list.rb +0 -254
- data/test/rails_root/vendor/gems/acts_as_list-0.1.2/test/list_test.rb +0 -369
- data/test/rails_root/vendor/gems/inverse_of-0.0.1/install.rb +0 -1
- data/test/rails_root/vendor/gems/inverse_of-0.0.1/lib/inverse_of.rb +0 -293
- data/test/rails_root/vendor/gems/inverse_of-0.0.1/rails/init.rb +0 -1
- data/test/rails_root/vendor/gems/inverse_of-0.0.1/test/cases/helper.rb +0 -28
- data/test/rails_root/vendor/gems/inverse_of-0.0.1/test/cases/inverse_associations_test.rb +0 -567
- data/test/rails_root/vendor/gems/inverse_of-0.0.1/test/models/club.rb +0 -13
- data/test/rails_root/vendor/gems/inverse_of-0.0.1/test/models/face.rb +0 -7
- data/test/rails_root/vendor/gems/inverse_of-0.0.1/test/models/interest.rb +0 -5
- data/test/rails_root/vendor/gems/inverse_of-0.0.1/test/models/man.rb +0 -9
- data/test/rails_root/vendor/gems/inverse_of-0.0.1/test/models/sponsor.rb +0 -4
- data/test/rails_root/vendor/gems/inverse_of-0.0.1/test/models/zine.rb +0 -3
- data/test/rails_root/vendor/gems/inverse_of-0.0.1/test/schema/schema.rb +0 -32
- data/test/rails_root/vendor/gems/inverse_of-0.0.1/uninstall.rb +0 -1
data/README.rdoc
CHANGED
@@ -103,6 +103,27 @@ you can access the user's answers using strings, like this:
|
|
103
103
|
user.census_data['Physical Attributes']['Weight']
|
104
104
|
user.census_data['Physical Attributes']['Hair Color']
|
105
105
|
|
106
|
+
== Exposing census answers as model attributes
|
107
|
+
|
108
|
+
Starting with version 0.4.2, census allows you to expose its data as attributes
|
109
|
+
directly on your model class. This is especially useful if you're trying to display
|
110
|
+
census answers in forms and you'd like Rails' default form handling to work for
|
111
|
+
that data.
|
112
|
+
|
113
|
+
If we assume that you have census questions defined as in the previous section,
|
114
|
+
you can add the following in your User class:
|
115
|
+
|
116
|
+
expose_census_data('Physical Attributes', 'Weight', :weight)
|
117
|
+
expose_census_data('Physical Attributes', 'Hair Color', :hair_color)
|
118
|
+
|
119
|
+
And then you can get or set the census answers directly on the user, like this:
|
120
|
+
|
121
|
+
user.weight = 148 # set the user's weight
|
122
|
+
user.weight # returns 148
|
123
|
+
|
124
|
+
user.hair_color = "Blond" # set the user's hair color
|
125
|
+
user.hair_color # returns "Blond"
|
126
|
+
|
106
127
|
== Searching
|
107
128
|
|
108
129
|
Census provides a search interface for finding users whose answers match a list
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.2
|
@@ -16,7 +16,7 @@ class CreateCensusTables < ActiveRecord::Migration
|
|
16
16
|
t.timestamps
|
17
17
|
end
|
18
18
|
|
19
|
-
add_index :questions, :data_group_id
|
19
|
+
add_index :questions, :data_group_id, :name => "idx_qstns_datagrpid"
|
20
20
|
|
21
21
|
create_table :choices do |t|
|
22
22
|
t.integer :question_id
|
@@ -25,7 +25,7 @@ class CreateCensusTables < ActiveRecord::Migration
|
|
25
25
|
t.timestamps
|
26
26
|
end
|
27
27
|
|
28
|
-
add_index :choices, :question_id
|
28
|
+
add_index :choices, :question_id, :name => "idx_choices_qstnid"
|
29
29
|
|
30
30
|
create_table(:users) do |t|
|
31
31
|
t.timestamps
|
@@ -37,22 +37,22 @@ class CreateCensusTables < ActiveRecord::Migration
|
|
37
37
|
t.string :data
|
38
38
|
end
|
39
39
|
|
40
|
-
add_index :answers, :question_id
|
41
|
-
add_index :answers, :user_id
|
40
|
+
add_index :answers, :question_id, :name => "idx_answrs_qstnid"
|
41
|
+
add_index :answers, :user_id, :name => "idx_answrs_usrid"
|
42
42
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def self.down
|
46
|
-
remove_index :answers, :
|
47
|
-
remove_index :answers, :
|
46
|
+
remove_index :answers, :name => "idx_answrs_qstnid"
|
47
|
+
remove_index :answers, :name => "idx_answrs_usrid"
|
48
48
|
drop_table :answers
|
49
49
|
|
50
50
|
drop_table :users
|
51
51
|
|
52
|
-
remove_index :choices, :
|
52
|
+
remove_index :choices, :name => "idx_choices_qstnid"
|
53
53
|
drop_table :choices
|
54
54
|
|
55
|
-
remove_index :questions, :
|
55
|
+
remove_index :questions, :name => "idx_qstns_datagrpid"
|
56
56
|
drop_table :questions
|
57
57
|
|
58
58
|
drop_table :data_groups
|
@@ -16,7 +16,7 @@ class CreateCensusTables < ActiveRecord::Migration
|
|
16
16
|
t.timestamps
|
17
17
|
end
|
18
18
|
|
19
|
-
add_index :questions, :data_group_id
|
19
|
+
add_index :questions, :data_group_id, :name => "idx_qstns_datagrpid"
|
20
20
|
|
21
21
|
create_table :choices do |t|
|
22
22
|
t.integer :question_id
|
@@ -25,7 +25,7 @@ class CreateCensusTables < ActiveRecord::Migration
|
|
25
25
|
t.timestamps
|
26
26
|
end
|
27
27
|
|
28
|
-
add_index :choices, :question_id
|
28
|
+
add_index :choices, :question_id, :name => "idx_choices_qstnid"
|
29
29
|
|
30
30
|
create_table :answers do |t|
|
31
31
|
t.integer :question_id
|
@@ -33,20 +33,20 @@ class CreateCensusTables < ActiveRecord::Migration
|
|
33
33
|
t.string :data
|
34
34
|
end
|
35
35
|
|
36
|
-
add_index :answers, :question_id
|
37
|
-
add_index :answers, :user_id
|
36
|
+
add_index :answers, :question_id, :name => "idx_answrs_qstnid"
|
37
|
+
add_index :answers, :user_id, :name => "idx_answrs_usrid"
|
38
38
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def self.down
|
42
|
-
remove_index :answers, :
|
43
|
-
remove_index :answers, :
|
42
|
+
remove_index :answers, :name => "idx_answrs_qstnid"
|
43
|
+
remove_index :answers, :name => "idx_answrs_usrid"
|
44
44
|
drop_table :answers
|
45
45
|
|
46
|
-
remove_index :choices, :
|
46
|
+
remove_index :choices, :name => "idx_choices_qstnid"
|
47
47
|
drop_table :choices
|
48
48
|
|
49
|
-
remove_index :questions, :
|
49
|
+
remove_index :questions, :name => "idx_qstns_datagrpid"
|
50
50
|
drop_table :questions
|
51
51
|
|
52
52
|
drop_table :data_groups
|
data/lib/census/user.rb
CHANGED
@@ -87,6 +87,20 @@ module Census
|
|
87
87
|
end
|
88
88
|
|
89
89
|
module ClassMethods
|
90
|
+
#
|
91
|
+
# Expose a census data value as an attribute on the model class
|
92
|
+
#
|
93
|
+
def expose_census_data(group, data, attribute)
|
94
|
+
instance_eval do
|
95
|
+
define_method attribute.to_s do
|
96
|
+
self.census_data[group.to_s][data.to_s]
|
97
|
+
end
|
98
|
+
|
99
|
+
define_method "#{attribute.to_s}=" do |value|
|
100
|
+
self.census_data[group.to_s][data.to_s] = value
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
90
104
|
end
|
91
105
|
|
92
106
|
end
|
data/lib/census/user_data.rb
CHANGED
@@ -8,7 +8,7 @@ module Census
|
|
8
8
|
@questions = {}
|
9
9
|
define_question_methods(data_group)
|
10
10
|
else
|
11
|
-
@data_groups = {}
|
11
|
+
@data_groups = Hash.new { |h,v| h[v] = {} }
|
12
12
|
define_data_group_methods
|
13
13
|
end
|
14
14
|
end
|
@@ -17,7 +17,15 @@ module Census
|
|
17
17
|
if @data_groups
|
18
18
|
@data_groups[key]
|
19
19
|
else
|
20
|
-
@user.first_answer_for(@questions[key]).formatted_data
|
20
|
+
@user.first_answer_for(@questions[key]).formatted_data if @questions[key]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def []=(key, value)
|
25
|
+
if @data_groups
|
26
|
+
@data_groups[key] = value
|
27
|
+
else
|
28
|
+
@user.first_answer_for(@questions[key]).update_attribute(:data, @questions[key].format_data(value).to_s) if @questions[key]
|
21
29
|
end
|
22
30
|
end
|
23
31
|
|
@@ -45,6 +53,10 @@ module Census
|
|
45
53
|
define_method question.prompt.parameterize.underscore do
|
46
54
|
@user.first_answer_for(question).formatted_data
|
47
55
|
end
|
56
|
+
|
57
|
+
define_method "#{question.prompt.parameterize.underscore}=" do |value|
|
58
|
+
@user.first_answer_for(question).update_attribute(:data, question.format_data(value).to_s)
|
59
|
+
end
|
48
60
|
end
|
49
61
|
end
|
50
62
|
end
|
data/test/models/user_test.rb
CHANGED
@@ -42,6 +42,82 @@ class UserTest < ActiveSupport::TestCase
|
|
42
42
|
|
43
43
|
end
|
44
44
|
|
45
|
+
context 'using expose_census_data' do
|
46
|
+
|
47
|
+
setup do
|
48
|
+
@user.class.expose_census_data('Physical Attributes', 'Hair Color', :hair_color)
|
49
|
+
@user.class.expose_census_data('Physical Attributes', 'Weight', :weight)
|
50
|
+
end
|
51
|
+
|
52
|
+
should 'return string values for string data types' do
|
53
|
+
assert_equal 'Brown', @user.hair_color
|
54
|
+
end
|
55
|
+
|
56
|
+
should 'return integer values for numeric data types' do
|
57
|
+
assert_equal 150, @user.weight
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
context 'Setting answers' do
|
65
|
+
|
66
|
+
setup do
|
67
|
+
@data_group = Factory(:data_group, :name => 'Physical Attributes')
|
68
|
+
@question1 = Factory(:question, :prompt => 'Hair Color', :data_group => @data_group)
|
69
|
+
@question2 = Factory(:question, :prompt => 'Weight', :data_type => 'Number', :data_group => @data_group)
|
70
|
+
|
71
|
+
@user = Factory(:user)
|
72
|
+
end
|
73
|
+
|
74
|
+
context 'using auto-generated methods' do
|
75
|
+
|
76
|
+
should 'allow string values for string data types' do
|
77
|
+
@user.census_data.physical_attributes.hair_color = 'Brown'
|
78
|
+
assert_equal 'Brown', @user.first_answer_for(@question1).formatted_data
|
79
|
+
end
|
80
|
+
|
81
|
+
should 'allow integer values for numeric data types' do
|
82
|
+
@user.census_data.physical_attributes.weight = 210
|
83
|
+
assert_equal 210, @user.first_answer_for(@question2).formatted_data
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
87
|
+
|
88
|
+
context 'using data group and question strings' do
|
89
|
+
|
90
|
+
should 'allow string values for string data types' do
|
91
|
+
@user.census_data["Physical Attributes"]["Hair Color"] = 'Brown'
|
92
|
+
assert_equal 'Brown', @user.first_answer_for(@question1).formatted_data
|
93
|
+
end
|
94
|
+
|
95
|
+
should 'allow integer values for numeric data types' do
|
96
|
+
@user.census_data["Physical Attributes"]["Weight"] = 210
|
97
|
+
assert_equal 210, @user.first_answer_for(@question2).formatted_data
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|
101
|
+
|
102
|
+
context 'using expose_census_data' do
|
103
|
+
|
104
|
+
setup do
|
105
|
+
@user.class.expose_census_data('Physical Attributes', 'Hair Color', :hair_color)
|
106
|
+
@user.class.expose_census_data('Physical Attributes', 'Weight', :weight)
|
107
|
+
end
|
108
|
+
|
109
|
+
should 'allow string values for string data types' do
|
110
|
+
@user.hair_color = 'Brown'
|
111
|
+
assert_equal 'Brown', @user.first_answer_for(@question1).formatted_data
|
112
|
+
end
|
113
|
+
|
114
|
+
should 'allow integer values for numeric data types' do
|
115
|
+
@user.weight = 210
|
116
|
+
assert_equal 210, @user.first_answer_for(@question2).formatted_data
|
117
|
+
end
|
118
|
+
|
119
|
+
end
|
120
|
+
|
45
121
|
end
|
46
122
|
|
47
123
|
end
|
@@ -1,8 +1,41 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file
|
2
|
+
|
3
|
+
# Specifies gem version of Rails to use when vendor/rails is not present
|
4
|
+
RAILS_GEM_VERSION = '2.3.8' unless defined? RAILS_GEM_VERSION
|
5
|
+
|
6
|
+
# Bootstrap the Rails environment, frameworks, and default configuration
|
1
7
|
require File.join(File.dirname(__FILE__), 'boot')
|
2
8
|
|
3
9
|
Rails::Initializer.run do |config|
|
4
|
-
config
|
10
|
+
# Settings in config/environments/* take precedence over those specified here.
|
11
|
+
# Application configuration should go into files in config/initializers
|
12
|
+
# -- all .rb files in that directory are automatically loaded.
|
13
|
+
|
14
|
+
# Add additional load paths for your own custom dirs
|
15
|
+
# config.load_paths += %W( #{RAILS_ROOT}/extras )
|
16
|
+
|
17
|
+
# Specify gems that this application depends on and have them installed with rake gems:install
|
18
|
+
# config.gem "bj"
|
19
|
+
# config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net"
|
20
|
+
# config.gem "sqlite3-ruby", :lib => "sqlite3"
|
21
|
+
# config.gem "aws-s3", :lib => "aws/s3"
|
22
|
+
|
23
|
+
# Only load the plugins named here, in the order given (default is alphabetical).
|
24
|
+
# :all can be used as a placeholder for all plugins not explicitly named
|
25
|
+
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
|
26
|
+
|
27
|
+
# Skip frameworks you're not going to use. To use Rails without a database,
|
28
|
+
# you must remove the Active Record framework.
|
29
|
+
# config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
|
30
|
+
|
31
|
+
# Activate observers that should always be running
|
32
|
+
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
|
33
|
+
|
34
|
+
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
35
|
+
# Run "rake -D time" for a list of tasks for finding time zone names.
|
36
|
+
config.time_zone = 'UTC'
|
5
37
|
|
6
|
-
|
7
|
-
config.
|
8
|
-
|
38
|
+
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
39
|
+
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')]
|
40
|
+
# config.i18n.default_locale = :de
|
41
|
+
end
|
@@ -27,6 +27,6 @@ config.action_mailer.delivery_method = :test
|
|
27
27
|
# like if you have constraints or database-specific column types
|
28
28
|
# config.active_record.schema_format = :sql
|
29
29
|
|
30
|
-
config.gem 'shoulda'
|
31
|
-
config.gem 'factory_girl'
|
32
|
-
config.gem '
|
30
|
+
config.gem 'shoulda'
|
31
|
+
config.gem 'factory_girl'
|
32
|
+
config.gem 'mocha'
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# Your secret key for verifying the integrity of signed cookies.
|
4
|
+
# If you change this key, all old signed cookies will become invalid!
|
5
|
+
# Make sure the secret is at least 30 characters and all random,
|
6
|
+
# no regular words or you'll be exposed to dictionary attacks.
|
7
|
+
ActionController::Base.cookie_verifier_secret = '2d56da98a398d6d2a9ad9a4d2862c0afda91439d7633973d3b1cfae673a58d0d5e0b943febae8b1c1c6d5fc0137f0bd79bfa043410ab39d19bf14e41f63b0a42';
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# no regular words or you'll be exposed to dictionary attacks.
|
7
7
|
ActionController::Base.session = {
|
8
8
|
:key => '_rails_root_session',
|
9
|
-
:secret => '
|
9
|
+
:secret => '75301db3e3c3065fb802090805a911fe15c7594132f1db32461a3834ec0f6614b1532b7afa98b33f25e44751b49837482a7e483f901610a62cbb3222c9d2108d'
|
10
10
|
}
|
11
11
|
|
12
12
|
# Use the database for sessions instead of the cookie-based default,
|
@@ -16,7 +16,7 @@ class CreateCensusTables < ActiveRecord::Migration
|
|
16
16
|
t.timestamps
|
17
17
|
end
|
18
18
|
|
19
|
-
add_index :questions, :data_group_id
|
19
|
+
add_index :questions, :data_group_id, :name => "idx_qstns_datagrpid"
|
20
20
|
|
21
21
|
create_table :choices do |t|
|
22
22
|
t.integer :question_id
|
@@ -25,7 +25,7 @@ class CreateCensusTables < ActiveRecord::Migration
|
|
25
25
|
t.timestamps
|
26
26
|
end
|
27
27
|
|
28
|
-
add_index :choices, :question_id
|
28
|
+
add_index :choices, :question_id, :name => "idx_choices_qstnid"
|
29
29
|
|
30
30
|
create_table(:users) do |t|
|
31
31
|
t.timestamps
|
@@ -37,22 +37,22 @@ class CreateCensusTables < ActiveRecord::Migration
|
|
37
37
|
t.string :data
|
38
38
|
end
|
39
39
|
|
40
|
-
add_index :answers, :question_id
|
41
|
-
add_index :answers, :user_id
|
40
|
+
add_index :answers, :question_id, :name => "idx_answrs_qstnid"
|
41
|
+
add_index :answers, :user_id, :name => "idx_answrs_usrid"
|
42
42
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def self.down
|
46
|
-
remove_index :answers, :
|
47
|
-
remove_index :answers, :
|
46
|
+
remove_index :answers, :name => "idx_answrs_qstnid"
|
47
|
+
remove_index :answers, :name => "idx_answrs_usrid"
|
48
48
|
drop_table :answers
|
49
49
|
|
50
50
|
drop_table :users
|
51
51
|
|
52
|
-
remove_index :choices, :
|
52
|
+
remove_index :choices, :name => "idx_choices_qstnid"
|
53
53
|
drop_table :choices
|
54
54
|
|
55
|
-
remove_index :questions, :
|
55
|
+
remove_index :questions, :name => "idx_qstns_datagrpid"
|
56
56
|
drop_table :questions
|
57
57
|
|
58
58
|
drop_table :data_groups
|
@@ -9,7 +9,7 @@
|
|
9
9
|
#
|
10
10
|
# It's strongly recommended to check this file into your version control system.
|
11
11
|
|
12
|
-
ActiveRecord::Schema.define(:version =>
|
12
|
+
ActiveRecord::Schema.define(:version => 20100526201135) do
|
13
13
|
|
14
14
|
create_table "answers", :force => true do |t|
|
15
15
|
t.integer "question_id"
|
@@ -17,8 +17,8 @@ ActiveRecord::Schema.define(:version => 20100421154808) do
|
|
17
17
|
t.string "data"
|
18
18
|
end
|
19
19
|
|
20
|
-
add_index "answers", ["question_id"], :name => "
|
21
|
-
add_index "answers", ["user_id"], :name => "
|
20
|
+
add_index "answers", ["question_id"], :name => "idx_answrs_qstnid"
|
21
|
+
add_index "answers", ["user_id"], :name => "idx_answrs_usrid"
|
22
22
|
|
23
23
|
create_table "choices", :force => true do |t|
|
24
24
|
t.integer "question_id"
|
@@ -28,7 +28,7 @@ ActiveRecord::Schema.define(:version => 20100421154808) do
|
|
28
28
|
t.datetime "updated_at"
|
29
29
|
end
|
30
30
|
|
31
|
-
add_index "choices", ["question_id"], :name => "
|
31
|
+
add_index "choices", ["question_id"], :name => "idx_choices_qstnid"
|
32
32
|
|
33
33
|
create_table "data_groups", :force => true do |t|
|
34
34
|
t.string "name"
|
@@ -48,7 +48,7 @@ ActiveRecord::Schema.define(:version => 20100421154808) do
|
|
48
48
|
t.datetime "updated_at"
|
49
49
|
end
|
50
50
|
|
51
|
-
add_index "questions", ["data_group_id"], :name => "
|
51
|
+
add_index "questions", ["data_group_id"], :name => "idx_qstns_datagrpid"
|
52
52
|
|
53
53
|
create_table "users", :force => true do |t|
|
54
54
|
t.datetime "created_at"
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: census
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 11
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 4
|
8
|
-
-
|
9
|
-
version: 0.4.
|
9
|
+
- 2
|
10
|
+
version: 0.4.2
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Mark Kendall
|
@@ -14,16 +15,18 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-
|
18
|
+
date: 2010-05-26 00:00:00 -04:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: acts_as_list
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 31
|
27
30
|
segments:
|
28
31
|
- 0
|
29
32
|
- 1
|
@@ -35,9 +38,11 @@ dependencies:
|
|
35
38
|
name: inverse_of
|
36
39
|
prerelease: false
|
37
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
38
42
|
requirements:
|
39
43
|
- - ">="
|
40
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 29
|
41
46
|
segments:
|
42
47
|
- 0
|
43
48
|
- 0
|
@@ -49,9 +54,11 @@ dependencies:
|
|
49
54
|
name: shoulda
|
50
55
|
prerelease: false
|
51
56
|
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
52
58
|
requirements:
|
53
59
|
- - ">="
|
54
60
|
- !ruby/object:Gem::Version
|
61
|
+
hash: 3
|
55
62
|
segments:
|
56
63
|
- 0
|
57
64
|
version: "0"
|
@@ -61,9 +68,11 @@ dependencies:
|
|
61
68
|
name: factory_girl
|
62
69
|
prerelease: false
|
63
70
|
requirement: &id004 !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
64
72
|
requirements:
|
65
73
|
- - ">="
|
66
74
|
- !ruby/object:Gem::Version
|
75
|
+
hash: 3
|
67
76
|
segments:
|
68
77
|
- 0
|
69
78
|
version: "0"
|
@@ -119,6 +128,35 @@ files:
|
|
119
128
|
- lib/census/user_data.rb
|
120
129
|
- rails/init.rb
|
121
130
|
- shoulda_macros/census.rb
|
131
|
+
- test/controllers/data_groups_controller_test.rb
|
132
|
+
- test/models/answer_test.rb
|
133
|
+
- test/models/choice_test.rb
|
134
|
+
- test/models/data_group_test.rb
|
135
|
+
- test/models/question_test.rb
|
136
|
+
- test/models/search_test.rb
|
137
|
+
- test/models/user_test.rb
|
138
|
+
- test/rails_root/app/controllers/application_controller.rb
|
139
|
+
- test/rails_root/app/helpers/application_helper.rb
|
140
|
+
- test/rails_root/app/models/user.rb
|
141
|
+
- test/rails_root/config/boot.rb
|
142
|
+
- test/rails_root/config/environment.rb
|
143
|
+
- test/rails_root/config/environments/development.rb
|
144
|
+
- test/rails_root/config/environments/production.rb
|
145
|
+
- test/rails_root/config/environments/test.rb
|
146
|
+
- test/rails_root/config/initializers/backtrace_silencers.rb
|
147
|
+
- test/rails_root/config/initializers/census.rb
|
148
|
+
- test/rails_root/config/initializers/cookie_verification_secret.rb
|
149
|
+
- test/rails_root/config/initializers/inflections.rb
|
150
|
+
- test/rails_root/config/initializers/mime_types.rb
|
151
|
+
- test/rails_root/config/initializers/new_rails_defaults.rb
|
152
|
+
- test/rails_root/config/initializers/session_store.rb
|
153
|
+
- test/rails_root/config/routes.rb
|
154
|
+
- test/rails_root/db/migrate/20100526201135_create_census_tables.rb
|
155
|
+
- test/rails_root/db/schema.rb
|
156
|
+
- test/rails_root/test/factories/census.rb
|
157
|
+
- test/rails_root/test/performance/browsing_test.rb
|
158
|
+
- test/rails_root/test/test_helper.rb
|
159
|
+
- test/test_helper.rb
|
122
160
|
has_rdoc: true
|
123
161
|
homepage: http://github.com/envylabs/census
|
124
162
|
licenses: []
|
@@ -129,23 +167,27 @@ rdoc_options:
|
|
129
167
|
require_paths:
|
130
168
|
- lib
|
131
169
|
required_ruby_version: !ruby/object:Gem::Requirement
|
170
|
+
none: false
|
132
171
|
requirements:
|
133
172
|
- - ">="
|
134
173
|
- !ruby/object:Gem::Version
|
174
|
+
hash: 3
|
135
175
|
segments:
|
136
176
|
- 0
|
137
177
|
version: "0"
|
138
178
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
|
+
none: false
|
139
180
|
requirements:
|
140
181
|
- - ">="
|
141
182
|
- !ruby/object:Gem::Version
|
183
|
+
hash: 3
|
142
184
|
segments:
|
143
185
|
- 0
|
144
186
|
version: "0"
|
145
187
|
requirements: []
|
146
188
|
|
147
189
|
rubyforge_project:
|
148
|
-
rubygems_version: 1.3.
|
190
|
+
rubygems_version: 1.3.7
|
149
191
|
signing_key:
|
150
192
|
specification_version: 3
|
151
193
|
summary: Rails user demographics collection and searching
|
@@ -167,29 +209,15 @@ test_files:
|
|
167
209
|
- test/rails_root/config/environments/test.rb
|
168
210
|
- test/rails_root/config/initializers/backtrace_silencers.rb
|
169
211
|
- test/rails_root/config/initializers/census.rb
|
212
|
+
- test/rails_root/config/initializers/cookie_verification_secret.rb
|
170
213
|
- test/rails_root/config/initializers/inflections.rb
|
171
214
|
- test/rails_root/config/initializers/mime_types.rb
|
172
215
|
- test/rails_root/config/initializers/new_rails_defaults.rb
|
173
216
|
- test/rails_root/config/initializers/session_store.rb
|
174
217
|
- test/rails_root/config/routes.rb
|
175
|
-
- test/rails_root/db/migrate/
|
218
|
+
- test/rails_root/db/migrate/20100526201135_create_census_tables.rb
|
176
219
|
- test/rails_root/db/schema.rb
|
177
220
|
- test/rails_root/test/factories/census.rb
|
178
221
|
- test/rails_root/test/performance/browsing_test.rb
|
179
222
|
- test/rails_root/test/test_helper.rb
|
180
|
-
- test/rails_root/vendor/gems/acts_as_list-0.1.2/lib/acts_as_list.rb
|
181
|
-
- test/rails_root/vendor/gems/acts_as_list-0.1.2/test/list_test.rb
|
182
|
-
- test/rails_root/vendor/gems/inverse_of-0.0.1/install.rb
|
183
|
-
- test/rails_root/vendor/gems/inverse_of-0.0.1/lib/inverse_of.rb
|
184
|
-
- test/rails_root/vendor/gems/inverse_of-0.0.1/rails/init.rb
|
185
|
-
- test/rails_root/vendor/gems/inverse_of-0.0.1/test/cases/helper.rb
|
186
|
-
- test/rails_root/vendor/gems/inverse_of-0.0.1/test/cases/inverse_associations_test.rb
|
187
|
-
- test/rails_root/vendor/gems/inverse_of-0.0.1/test/models/club.rb
|
188
|
-
- test/rails_root/vendor/gems/inverse_of-0.0.1/test/models/face.rb
|
189
|
-
- test/rails_root/vendor/gems/inverse_of-0.0.1/test/models/interest.rb
|
190
|
-
- test/rails_root/vendor/gems/inverse_of-0.0.1/test/models/man.rb
|
191
|
-
- test/rails_root/vendor/gems/inverse_of-0.0.1/test/models/sponsor.rb
|
192
|
-
- test/rails_root/vendor/gems/inverse_of-0.0.1/test/models/zine.rb
|
193
|
-
- test/rails_root/vendor/gems/inverse_of-0.0.1/test/schema/schema.rb
|
194
|
-
- test/rails_root/vendor/gems/inverse_of-0.0.1/uninstall.rb
|
195
223
|
- test/test_helper.rb
|