quarter_time 0.3.2 → 1.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.
- data/VERSION +1 -1
- data/lib/quarter_time/quarter_driven.rb +8 -4
- data/lib/quarter_time.rb +2 -1
- data/quarter_time.gemspec +26 -36
- data/test/test_quarter_driven.rb +7 -2
- metadata +11 -18
- data/.gitignore +0 -21
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
1.0.1
|
@@ -1,8 +1,12 @@
|
|
1
1
|
module QuarterTime
|
2
2
|
module QuarterDriven
|
3
3
|
def self.included(base)
|
4
|
-
|
5
|
-
|
4
|
+
version = ActiveSupport::VERSION::MAJOR
|
5
|
+
scope_method = "named_scope" if version.to_i < 3
|
6
|
+
scope_method = "scope" if version.to_i >= 3
|
7
|
+
|
8
|
+
base.class_eval %Q{
|
9
|
+
#{scope_method} :for_quarter, lambda {|*args|
|
6
10
|
quarter_obj = (args[0].is_a?(Quarter) ? args[0] : Quarter.new(args[0],args[1]))
|
7
11
|
{:conditions=>{:year=>quarter_obj.year, :quarter=>quarter_obj.quarter}}
|
8
12
|
}
|
@@ -11,11 +15,11 @@ module QuarterTime
|
|
11
15
|
[:start_date,:end_date,:quarter_stamp].each do |delegated_method|
|
12
16
|
define_method(delegated_method){ self.quarter_obj.send(delegated_method) }
|
13
17
|
end
|
14
|
-
|
18
|
+
}
|
15
19
|
end
|
16
20
|
#
|
17
21
|
def quarter_obj
|
18
22
|
@quarter_obj ||= Quarter.new(self.year,self.quarter)
|
19
23
|
end
|
20
24
|
end
|
21
|
-
end
|
25
|
+
end
|
data/lib/quarter_time.rb
CHANGED
@@ -7,8 +7,9 @@ else
|
|
7
7
|
require 'active_support/core_ext'
|
8
8
|
end
|
9
9
|
|
10
|
+
require 'active_support/version'
|
10
11
|
require 'quarter_time/quarter_knowledge'
|
11
12
|
require 'extensions/date_extension'
|
12
13
|
require 'extensions/time_extension'
|
13
14
|
require 'quarter_time/quarter'
|
14
|
-
require 'quarter_time/quarter_driven'
|
15
|
+
require 'quarter_time/quarter_driven'
|
data/quarter_time.gemspec
CHANGED
@@ -1,56 +1,46 @@
|
|
1
1
|
# Generated by jeweler
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.
|
7
|
+
s.name = "quarter_time"
|
8
|
+
s.version = "1.0.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["evizitei"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2012-02-21"
|
13
|
+
s.description = "A simple gem for dealing with quarter logic. I happen to have a project where half the models in the database recur every three months as part of a \"quarter\" of the year. Within the code, we constantly are asking \"what quarter is this for?\", or \"show me all the records for this quarter\". Well, now I need the same power on another application, so say hello to \"quarter_time\"."
|
14
|
+
s.email = "ethan.vizitei@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
17
|
-
|
17
|
+
"README.rdoc"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
20
|
".document",
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
"quarter_time.gemspec",
|
33
|
-
"test/helper.rb",
|
34
|
-
"test/test_date_extensions.rb",
|
35
|
-
"test/test_quarter.rb",
|
36
|
-
"test/test_quarter_driven.rb",
|
37
|
-
"test/test_time_extensions.rb"
|
38
|
-
]
|
39
|
-
s.homepage = %q{http://github.com/evizitei/quarter_time}
|
40
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
41
|
-
s.require_paths = ["lib"]
|
42
|
-
s.rubygems_version = %q{1.3.7}
|
43
|
-
s.summary = %q{library for measuring time in quarters (three month periods) and interacting with models that are tied to a specific quarter.}
|
44
|
-
s.test_files = [
|
21
|
+
"LICENSE",
|
22
|
+
"README.rdoc",
|
23
|
+
"Rakefile",
|
24
|
+
"VERSION",
|
25
|
+
"lib/extensions/date_extension.rb",
|
26
|
+
"lib/extensions/time_extension.rb",
|
27
|
+
"lib/quarter_time.rb",
|
28
|
+
"lib/quarter_time/quarter.rb",
|
29
|
+
"lib/quarter_time/quarter_driven.rb",
|
30
|
+
"lib/quarter_time/quarter_knowledge.rb",
|
31
|
+
"quarter_time.gemspec",
|
45
32
|
"test/helper.rb",
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
33
|
+
"test/test_date_extensions.rb",
|
34
|
+
"test/test_quarter.rb",
|
35
|
+
"test/test_quarter_driven.rb",
|
36
|
+
"test/test_time_extensions.rb"
|
50
37
|
]
|
38
|
+
s.homepage = "http://github.com/evizitei/quarter_time"
|
39
|
+
s.require_paths = ["lib"]
|
40
|
+
s.rubygems_version = "1.8.15"
|
41
|
+
s.summary = "library for measuring time in quarters (three month periods) and interacting with models that are tied to a specific quarter."
|
51
42
|
|
52
43
|
if s.respond_to? :specification_version then
|
53
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
54
44
|
s.specification_version = 3
|
55
45
|
|
56
46
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
data/test/test_quarter_driven.rb
CHANGED
@@ -45,11 +45,16 @@ class QuarterDrivenModel
|
|
45
45
|
def self.scopes
|
46
46
|
@@scopes
|
47
47
|
end
|
48
|
-
|
48
|
+
ActiveSupport::VERSION
|
49
49
|
def self.named_scope(name,func = nil)
|
50
50
|
@@scopes ||= {}
|
51
51
|
@@scopes[name] = func
|
52
52
|
end
|
53
|
+
|
54
|
+
def self.scope(name,func = nil)
|
55
|
+
@@scopes ||= {}
|
56
|
+
@@scopes[name] = func
|
57
|
+
end
|
53
58
|
|
54
59
|
def initialize(year = 2010,quarter = 2)
|
55
60
|
@year = year
|
@@ -57,4 +62,4 @@ class QuarterDrivenModel
|
|
57
62
|
end
|
58
63
|
|
59
64
|
include QuarterTime::QuarterDriven
|
60
|
-
end
|
65
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quarter_time
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 21
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
|
+
- 1
|
7
8
|
- 0
|
8
|
-
-
|
9
|
-
|
10
|
-
version: 0.3.2
|
9
|
+
- 1
|
10
|
+
version: 1.0.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- evizitei
|
@@ -15,8 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
19
|
-
default_executable:
|
18
|
+
date: 2012-02-21 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
21
|
name: thoughtbot-shoulda
|
@@ -43,7 +42,6 @@ extra_rdoc_files:
|
|
43
42
|
- README.rdoc
|
44
43
|
files:
|
45
44
|
- .document
|
46
|
-
- .gitignore
|
47
45
|
- LICENSE
|
48
46
|
- README.rdoc
|
49
47
|
- Rakefile
|
@@ -60,13 +58,12 @@ files:
|
|
60
58
|
- test/test_quarter.rb
|
61
59
|
- test/test_quarter_driven.rb
|
62
60
|
- test/test_time_extensions.rb
|
63
|
-
has_rdoc: true
|
64
61
|
homepage: http://github.com/evizitei/quarter_time
|
65
62
|
licenses: []
|
66
63
|
|
67
64
|
post_install_message:
|
68
|
-
rdoc_options:
|
69
|
-
|
65
|
+
rdoc_options: []
|
66
|
+
|
70
67
|
require_paths:
|
71
68
|
- lib
|
72
69
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -90,13 +87,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
90
87
|
requirements: []
|
91
88
|
|
92
89
|
rubyforge_project:
|
93
|
-
rubygems_version: 1.
|
90
|
+
rubygems_version: 1.8.15
|
94
91
|
signing_key:
|
95
92
|
specification_version: 3
|
96
93
|
summary: library for measuring time in quarters (three month periods) and interacting with models that are tied to a specific quarter.
|
97
|
-
test_files:
|
98
|
-
|
99
|
-
- test/test_date_extensions.rb
|
100
|
-
- test/test_quarter.rb
|
101
|
-
- test/test_quarter_driven.rb
|
102
|
-
- test/test_time_extensions.rb
|
94
|
+
test_files: []
|
95
|
+
|