census 0.4.1 → 0.4.2
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.
- 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
|