calendar_sniper 1.1.3 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 620db522bc24dac549356ead4886806f513ec873
4
- data.tar.gz: ab877c11ec5f74df80004f8351360f3c5e5f7e47
3
+ metadata.gz: 0fb8a0724727a39f5eb81e8f032387369655446d
4
+ data.tar.gz: 7b4cbe5a588b28781b1c824088e84fb20587ec12
5
5
  SHA512:
6
- metadata.gz: b6362d151b7242c9ecbe24b6d169c77d23dfe5bf7e1a08d534c605acd1a1021c6133cce655aafb68834023f452909290d63052b13ed6d8ba5f73a8598bcbdd8d
7
- data.tar.gz: 5f28470515faa64047cc812cbb34ae7711e26cd3410657ec103e04b0789ca4296753db537759f642169b53aa29c38ab1f70dde94b55eac5adb5b149ac10d8fca
6
+ metadata.gz: 73d80d092a4794adf7b819f14fb69da71e0f3e9d4c4c298c855ff05e5bd843036d8f2dec51640d90684a06af9e8f37c48d85d6da61367c5e873eec3cb6f6c618
7
+ data.tar.gz: 7cd9ef2435ede7d8954f01126d4f9686ef6eb32227bcb1d1a1766da302a260b84f828d4ad0b7b6a8cd99ffe3b14f8f8117c4831e7709adbc9727957ebc20696d
data/.rubocop.yml ADDED
@@ -0,0 +1,27 @@
1
+ AllCops:
2
+ Include:
3
+ - Rakefile
4
+ Exclude:
5
+ - db/**/*
6
+ - config/**/*
7
+ - script/**/*
8
+ - bin/**/*
9
+ LineLength:
10
+ Enabled: true
11
+ Max: 150
12
+ Documentation:
13
+ Enabled: false
14
+ AlignParameters:
15
+ Enabled: false
16
+ MethodLength:
17
+ Max: 30
18
+ AndOr:
19
+ Enabled: false
20
+ ClassLength:
21
+ Max: 200
22
+ ClassAndModuleChildren:
23
+ Enabled: false
24
+ MultilineOperationIndentation:
25
+ Enabled: false
26
+ Metrics/AbcSize:
27
+ Max: 20
@@ -1,3 +1,3 @@
1
1
  module CalendarSniper
2
- VERSION = "1.1.3"
2
+ VERSION = "1.1.5"
3
3
  end
@@ -1,4 +1,4 @@
1
- require "calendar_sniper/version"
1
+ require 'calendar_sniper/version'
2
2
  require 'active_support'
3
3
  require 'active_support/core_ext/date'
4
4
  require 'active_support/core_ext/date_time'
@@ -8,10 +8,23 @@ module CalendarSniper
8
8
  extend ActiveSupport::Concern
9
9
 
10
10
  included do
11
- scope :with_date_range, lambda { |num_days| with_from_date(num_days.to_f.days.ago) }
12
- scope :with_to_date, lambda { |date| search_in_date_range :<, date }
13
- scope :with_from_date, lambda { |date| search_in_date_range :>, date }
14
- scope :in_date_range, lambda { |from,to| with_from_date(from).with_to_date(to) }
11
+ scope(:with_date_range, lambda do |num_days|
12
+ case num_days
13
+ when /\A\d+(?:\.\d+)?\z/
14
+ with_from_date(num_days.to_f.days.ago)
15
+ when 'today'
16
+ where(started: Date.today.beginning_of_day..Time.now)
17
+ when 'yesterday'
18
+ where(started: Date.yesterday.beginning_of_day..Date.yesterday.end_of_day)
19
+ when 'last_month'
20
+ where(started: 1.month.ago.beginning_of_month..1.month.ago.end_of_month)
21
+ else
22
+ fail "Unknown date range for filtering: #{num_days}"
23
+ end
24
+ end)
25
+ scope :with_to_date, ->(date) { search_in_date_range :<, date }
26
+ scope :with_from_date, ->(date) { search_in_date_range :>, date }
27
+ scope :in_date_range, ->(from, to) { with_from_date(from).with_to_date(to) }
15
28
  end
16
29
 
17
30
  module ClassMethods
@@ -23,14 +36,14 @@ module CalendarSniper
23
36
  #
24
37
  # filterable_by_date_range :internal_lead_received_at
25
38
  #
26
- def filterable_by_date_range with_name=:created_at
39
+ def filterable_by_date_range(with_name = :created_at)
27
40
  @_filterable_by_date_range_field = with_name.to_s
28
41
  end
29
42
 
30
43
  # Search through the date range in a given direction. Uses the
31
44
  # field given in the +filterable_by_date_range+ macro that you
32
45
  # can add to ActiveRecord, otherwise it defaults to 'created_at'.
33
- def search_in_date_range by_direction, with_date
46
+ def search_in_date_range(by_direction, with_date)
34
47
  logger.debug "Searched #{date_field} on #{self.class.name} with a scope"
35
48
  where("#{table_name}.#{date_field} #{by_direction}= ?", coalesce_date(with_date, by_direction))
36
49
  end
@@ -71,7 +84,7 @@ module CalendarSniper
71
84
  '%Y-%m-%d'
72
85
  end
73
86
  else
74
- raise "Date string in unknown format: #{str}"
87
+ fail "Date string in unknown format: #{str}"
75
88
  end
76
89
  end
77
90
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: calendar_sniper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris MacNaughton
@@ -9,62 +9,62 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-04-25 00:00:00.000000000 Z
12
+ date: 2017-01-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: 3.0.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '>='
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: 3.0.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: bundler
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ~>
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
34
  version: '1.3'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ~>
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: '1.3'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rake
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '>='
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: rspec
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - '>='
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '>='
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  description: Gem that adds date related scopes to ActiveRecord models
@@ -75,8 +75,9 @@ executables: []
75
75
  extensions: []
76
76
  extra_rdoc_files: []
77
77
  files:
78
- - .gitignore
79
- - .rspec
78
+ - ".gitignore"
79
+ - ".rspec"
80
+ - ".rubocop.yml"
80
81
  - Gemfile
81
82
  - LICENSE.txt
82
83
  - README.md
@@ -96,17 +97,17 @@ require_paths:
96
97
  - lib
97
98
  required_ruby_version: !ruby/object:Gem::Requirement
98
99
  requirements:
99
- - - '>='
100
+ - - ">="
100
101
  - !ruby/object:Gem::Version
101
102
  version: '0'
102
103
  required_rubygems_version: !ruby/object:Gem::Requirement
103
104
  requirements:
104
- - - '>='
105
+ - - ">="
105
106
  - !ruby/object:Gem::Version
106
107
  version: '0'
107
108
  requirements: []
108
109
  rubyforge_project:
109
- rubygems_version: 2.2.2
110
+ rubygems_version: 2.5.2
110
111
  signing_key:
111
112
  specification_version: 4
112
113
  summary: CalendarSniper adds with_date_range, with_to_date, with_from_date, and in_date_range