cohort_scope 0.1.3 → 0.1.4
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/.gitignore +2 -0
- data/Gemfile +4 -0
- data/Rakefile +11 -41
- data/cohort_scope.gemspec +20 -62
- data/lib/cohort_scope/cohort.rb +5 -1
- data/lib/cohort_scope/version.rb +3 -0
- data/lib/cohort_scope.rb +1 -0
- data/test/helper.rb +3 -2
- data/test/test_cohort_scope.rb +5 -0
- metadata +14 -13
- data/VERSION +0 -1
data/.gitignore
CHANGED
data/Gemfile
ADDED
data/Rakefile
CHANGED
@@ -1,25 +1,7 @@
|
|
1
|
-
require '
|
2
|
-
|
3
|
-
|
4
|
-
begin
|
5
|
-
require 'jeweler'
|
6
|
-
Jeweler::Tasks.new do |gem|
|
7
|
-
gem.name = "cohort_scope"
|
8
|
-
gem.summary = %Q{Provides cohorts (in the form of ActiveRecord scopes) that dynamically widen until they contain a certain number of records.}
|
9
|
-
gem.description = %Q{Provides big_cohort, which widens by finding the constraint that eliminates the most records and removing it. Also provides strict_cohort, which widens by eliminating constraints in order.}
|
10
|
-
gem.email = "seamus@abshere.net"
|
11
|
-
gem.homepage = "http://github.com/seamusabshere/cohort_scope"
|
12
|
-
gem.authors = ["Seamus Abshere", "Andy Rossmeissl", "Derek Kastner"]
|
13
|
-
gem.add_dependency "activesupport", ">=3.0.0.beta4"
|
14
|
-
gem.add_dependency "activerecord", ">=3.0.0.beta4"
|
15
|
-
gem.add_development_dependency "shoulda", ">= 2.10.3"
|
16
|
-
gem.add_development_dependency 'sqlite3-ruby'
|
17
|
-
end
|
18
|
-
Jeweler::GemcutterTasks.new
|
19
|
-
rescue LoadError
|
20
|
-
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
21
|
-
end
|
1
|
+
require 'bundler'
|
2
|
+
Bundler::GemHelper.install_tasks
|
22
3
|
|
4
|
+
require 'rake'
|
23
5
|
require 'rake/testtask'
|
24
6
|
Rake::TestTask.new(:test) do |test|
|
25
7
|
test.libs << 'lib' << 'test'
|
@@ -28,28 +10,16 @@ Rake::TestTask.new(:test) do |test|
|
|
28
10
|
end
|
29
11
|
|
30
12
|
begin
|
31
|
-
require '
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
13
|
+
require 'rake/rdoctask'
|
14
|
+
Rake::RDocTask.new do |rdoc|
|
15
|
+
rdoc.rdoc_dir = 'rdoc'
|
16
|
+
rdoc.title = 'cohort_scope'
|
17
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
18
|
+
rdoc.rdoc_files.include('README*')
|
19
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
36
20
|
end
|
37
21
|
rescue LoadError
|
38
|
-
|
39
|
-
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
40
|
-
end
|
22
|
+
puts "Rdoc is not available"
|
41
23
|
end
|
42
24
|
|
43
|
-
task :test => :check_dependencies
|
44
|
-
|
45
25
|
task :default => :test
|
46
|
-
|
47
|
-
require 'rake/rdoctask'
|
48
|
-
Rake::RDocTask.new do |rdoc|
|
49
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
50
|
-
|
51
|
-
rdoc.rdoc_dir = 'rdoc'
|
52
|
-
rdoc.title = "cohort_scope #{version}"
|
53
|
-
rdoc.rdoc_files.include('README*')
|
54
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
55
|
-
end
|
data/cohort_scope.gemspec
CHANGED
@@ -1,68 +1,26 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "cohort_scope/version"
|
5
4
|
|
6
5
|
Gem::Specification.new do |s|
|
7
|
-
s.name
|
8
|
-
s.version
|
6
|
+
s.name = "cohort_scope"
|
7
|
+
s.version = CohortScope::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Seamus Abshere", "Andy Rossmeissl", "Derek Kastner"]
|
10
|
+
s.email = ["seamus@abshere.net"]
|
11
|
+
s.homepage = "https://github.com/seamusabshere/cohort_scope"
|
12
|
+
s.summary = %Q{Provides cohorts (in the form of ActiveRecord scopes) that dynamically widen until they contain a certain number of records.}
|
13
|
+
s.description = %Q{Provides big_cohort, which widens by finding the constraint that eliminates the most records and removing it. Also provides strict_cohort, which widens by eliminating constraints in order.}
|
9
14
|
|
10
|
-
s.
|
11
|
-
s.authors = ["Seamus Abshere", "Andy Rossmeissl", "Derek Kastner"]
|
12
|
-
s.date = %q{2011-02-01}
|
13
|
-
s.description = %q{Provides big_cohort, which widens by finding the constraint that eliminates the most records and removing it. Also provides strict_cohort, which widens by eliminating constraints in order.}
|
14
|
-
s.email = %q{seamus@abshere.net}
|
15
|
-
s.extra_rdoc_files = [
|
16
|
-
"LICENSE",
|
17
|
-
"README.rdoc"
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
".document",
|
21
|
-
".gitignore",
|
22
|
-
"LICENSE",
|
23
|
-
"README.rdoc",
|
24
|
-
"Rakefile",
|
25
|
-
"VERSION",
|
26
|
-
"cohort_scope.gemspec",
|
27
|
-
"lib/cohort_scope.rb",
|
28
|
-
"lib/cohort_scope/big_cohort.rb",
|
29
|
-
"lib/cohort_scope/cohort.rb",
|
30
|
-
"lib/cohort_scope/strict_cohort.rb",
|
31
|
-
"test/helper.rb",
|
32
|
-
"test/test_cohort.rb",
|
33
|
-
"test/test_cohort_scope.rb"
|
34
|
-
]
|
35
|
-
s.homepage = %q{http://github.com/seamusabshere/cohort_scope}
|
36
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
37
|
-
s.require_paths = ["lib"]
|
38
|
-
s.rubygems_version = %q{1.3.7}
|
39
|
-
s.summary = %q{Provides cohorts (in the form of ActiveRecord scopes) that dynamically widen until they contain a certain number of records.}
|
40
|
-
s.test_files = [
|
41
|
-
"test/helper.rb",
|
42
|
-
"test/test_cohort.rb",
|
43
|
-
"test/test_cohort_scope.rb"
|
44
|
-
]
|
45
|
-
|
46
|
-
if s.respond_to? :specification_version then
|
47
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
48
|
-
s.specification_version = 3
|
15
|
+
s.rubyforge_project = "cohort_scope"
|
49
16
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
|
60
|
-
end
|
61
|
-
else
|
62
|
-
s.add_dependency(%q<activesupport>, [">= 3.0.0.beta4"])
|
63
|
-
s.add_dependency(%q<activerecord>, [">= 3.0.0.beta4"])
|
64
|
-
s.add_dependency(%q<shoulda>, [">= 2.10.3"])
|
65
|
-
s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
|
66
|
-
end
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
|
22
|
+
s.add_dependency "activesupport", ">=3.0.0.beta4"
|
23
|
+
s.add_dependency "activerecord", ">=3.0.0.beta4"
|
24
|
+
s.add_development_dependency "shoulda", ">= 2.10.3"
|
25
|
+
s.add_development_dependency 'sqlite3-ruby'
|
67
26
|
end
|
68
|
-
|
data/lib/cohort_scope/cohort.rb
CHANGED
@@ -92,7 +92,11 @@ module CohortScope
|
|
92
92
|
|
93
93
|
# sabshere 2/1/11 overriding as_json per usual doesn't seem to work
|
94
94
|
def to_json(*)
|
95
|
-
|
95
|
+
as_json.to_json
|
96
|
+
end
|
97
|
+
|
98
|
+
def as_json(*)
|
99
|
+
{ :members => count }
|
96
100
|
end
|
97
101
|
|
98
102
|
# sabshere 2/1/11 ActiveRecord does this for #any? but not for #none?
|
data/lib/cohort_scope.rb
CHANGED
data/test/helper.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
Bundler.setup
|
2
4
|
require 'test/unit'
|
3
5
|
require 'shoulda'
|
4
6
|
require 'logger'
|
5
|
-
|
6
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
7
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
8
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
8
9
|
require 'cohort_scope'
|
9
10
|
|
10
11
|
class Test::Unit::TestCase
|
data/test/test_cohort_scope.rb
CHANGED
@@ -44,6 +44,11 @@ class TestCohortScope < Test::Unit::TestCase
|
|
44
44
|
cohort = Citizen.big_cohort :birthdate => @date_range, :favorite_color => 'heliotrope'
|
45
45
|
assert_equal "<Massive ActiveRecord scope with 9 members>", cohort.inspect
|
46
46
|
end
|
47
|
+
|
48
|
+
should "not get fooled into revealing all of its members by a parent's #to_hash" do
|
49
|
+
cohort = Citizen.big_cohort :birthdate => @date_range, :favorite_color => 'heliotrope'
|
50
|
+
assert_equal '{"c":{"members":9}}', { :c => cohort }.to_hash.to_json
|
51
|
+
end
|
47
52
|
|
48
53
|
should "retain the scope's original behavior" do
|
49
54
|
cohort = Citizen.big_cohort :birthdate => @date_range, :favorite_color => 'heliotrope'
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cohort_scope
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Seamus Abshere
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2011-02-
|
20
|
+
date: 2011-02-11 00:00:00 -06:00
|
21
21
|
default_executable:
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|
@@ -85,36 +85,37 @@ dependencies:
|
|
85
85
|
type: :development
|
86
86
|
version_requirements: *id004
|
87
87
|
description: Provides big_cohort, which widens by finding the constraint that eliminates the most records and removing it. Also provides strict_cohort, which widens by eliminating constraints in order.
|
88
|
-
email:
|
88
|
+
email:
|
89
|
+
- seamus@abshere.net
|
89
90
|
executables: []
|
90
91
|
|
91
92
|
extensions: []
|
92
93
|
|
93
|
-
extra_rdoc_files:
|
94
|
-
|
95
|
-
- README.rdoc
|
94
|
+
extra_rdoc_files: []
|
95
|
+
|
96
96
|
files:
|
97
97
|
- .document
|
98
98
|
- .gitignore
|
99
|
+
- Gemfile
|
99
100
|
- LICENSE
|
100
101
|
- README.rdoc
|
101
102
|
- Rakefile
|
102
|
-
- VERSION
|
103
103
|
- cohort_scope.gemspec
|
104
104
|
- lib/cohort_scope.rb
|
105
105
|
- lib/cohort_scope/big_cohort.rb
|
106
106
|
- lib/cohort_scope/cohort.rb
|
107
107
|
- lib/cohort_scope/strict_cohort.rb
|
108
|
+
- lib/cohort_scope/version.rb
|
108
109
|
- test/helper.rb
|
109
110
|
- test/test_cohort.rb
|
110
111
|
- test/test_cohort_scope.rb
|
111
112
|
has_rdoc: true
|
112
|
-
homepage:
|
113
|
+
homepage: https://github.com/seamusabshere/cohort_scope
|
113
114
|
licenses: []
|
114
115
|
|
115
116
|
post_install_message:
|
116
|
-
rdoc_options:
|
117
|
-
|
117
|
+
rdoc_options: []
|
118
|
+
|
118
119
|
require_paths:
|
119
120
|
- lib
|
120
121
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -137,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
138
|
version: "0"
|
138
139
|
requirements: []
|
139
140
|
|
140
|
-
rubyforge_project:
|
141
|
+
rubyforge_project: cohort_scope
|
141
142
|
rubygems_version: 1.3.7
|
142
143
|
signing_key:
|
143
144
|
specification_version: 3
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.1.3
|