include_date_scopes 0.9.7 → 0.9.8

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: 86cc1b291a6638f91647fd1276cf98a9fe9c6bf4
4
- data.tar.gz: 9d57c0750142bd4d42b4f04c82a914a923d2f405
3
+ metadata.gz: 1f89eae9b3b4c9e7421d6cc58edb49f4df1adbd3
4
+ data.tar.gz: 8aea72a77966109927e0241171ae625aafa30bd2
5
5
  SHA512:
6
- metadata.gz: ee9b89589d89186fd40c919a799ad2ae5bae563faa93b9341bf0558c162490b1f2369d9c7d2f905dafb7da9faeaa4f04ee14a8c1d3669ab8e2bdcae364038f1f
7
- data.tar.gz: 9aa490f3b38bb340f28cf5fed6d5de762aac9dc0957b87c98ce851ea397c8a95012a5671807f087a9dd9c154a9f021a2149de8c6eb221b79c888853211d56d86
6
+ metadata.gz: 3d86c53be5dd357d526d02af98f379030c44b15139ba6960bd4fbefe77112cd5e8c8da78fb583ad2563bdfd52a324c53454b10184632730f74f0a1e67e8fbcff
7
+ data.tar.gz: 89c956fa3fd91af23ec584269b732f69a70919e19a26d2e15661ec10792491cf8b55a864707b97a07f2d174a672150ee285794813ae4c4b0042d888e929f230c
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
+ *file.lock
1
2
  *.gem
2
3
  *.rbc
3
4
  .bundle
data/.travis.yml ADDED
@@ -0,0 +1,11 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - "1.9.3"
5
+ - "2.0.0"
6
+ - "2.1.2"
7
+
8
+ gemfile:
9
+ - gemfiles/ActiveRecord_3.2.gemfile
10
+ - gemfiles/ActiveRecord_4.0.gemfile
11
+ - gemfiles/ActiveRecord_4.1.gemfile
data/Appraisals ADDED
@@ -0,0 +1,11 @@
1
+ appraise "ActiveRecord 4.1" do
2
+ gem "activerecord", '~>4.1.6'
3
+ end
4
+
5
+ appraise "ActiveRecord 4.0" do
6
+ gem "activerecord", '~>4.0.10'
7
+ end
8
+
9
+ appraise "ActiveRecord 3.2" do
10
+ gem "activerecord", '~>3.2.19'
11
+ end
data/Gemfile CHANGED
@@ -1,5 +1,6 @@
1
1
  source "http://rubygems.org"
2
2
 
3
+ gem 'appraisal'
3
4
  gemspec
4
5
 
5
6
  # *************************************
@@ -7,7 +8,7 @@ gemspec
7
8
  # * If you have any local gems to include, create a new Gemfile at ~/.Gemfile
8
9
  # * This code will import anything in there.
9
10
  # *************************************
10
- if File.exists? File.join(Dir.home,'.Gemfile')
11
+ if File.exist? File.join(Dir.home,'.Gemfile')
11
12
  eval File.read File.join(Dir.home,'.Gemfile')
12
13
  end
13
14
 
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  include_date_scopes
2
2
  ===================
3
+ [![Build Status](https://travis-ci.org/descentintomael/include_date_scopes.svg?branch=master)](https://travis-ci.org/descentintomael/include_date_scopes)
3
4
 
4
5
  An ActiveRecord module for automatically including a large list of commonly used date related scopes.
5
6
 
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+ require 'rspec/core/rake_task'
4
+
5
+ RSpec::Core::RakeTask.new(:spec)
6
+
7
+ desc 'Default: run the rspec examples'
8
+ task :default => [:spec]
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "activerecord", "~>3.2.19"
7
+
8
+ gemspec :path => "../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "activerecord", "~>4.0.10"
7
+
8
+ gemspec :path => "../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "activerecord", "~>4.1.6"
7
+
8
+ gemspec :path => "../"
@@ -19,9 +19,9 @@ DESCRIPTION
19
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
20
  s.require_paths = ["lib"]
21
21
 
22
- s.add_dependency "activerecord", '< 4'
22
+ s.add_dependency "activerecord"
23
23
  s.add_dependency "railties"
24
- s.add_development_dependency "rspec-rails"
25
- s.add_development_dependency "sqlite3"
26
- s.add_development_dependency 'timecop'
24
+ s.add_development_dependency "rspec-rails", "2.14.2"
25
+ s.add_development_dependency "sqlite3", "1.3.9"
26
+ s.add_development_dependency 'timecop', "0.7.1"
27
27
  end
@@ -11,7 +11,7 @@ module IncludeDateScopes
11
11
 
12
12
  {:on_or_before => :lteq, :before => :lt, :on_or_after => :gteq, :after => :gt, :on => :eq}.each do |label, op|
13
13
  define_singleton_method :"#{prefix}#{label}" do |date|
14
- where t[column_name].send op, date.to_date
14
+ where t[column_name].send op, date
15
15
  end
16
16
  end
17
17
 
@@ -40,10 +40,6 @@ module IncludeDateScopes
40
40
  __send__(:"#{prefix}between", day.beginning_of_day, day.end_of_day)
41
41
  end
42
42
 
43
- define_singleton_method :"#{prefix}day" do |day|
44
- __send__(:"#{prefix}on", day)
45
- end
46
-
47
43
  define_singleton_method :"#{prefix}last_24_hours" do
48
44
  __send__(:"#{prefix}last_day")
49
45
  end
@@ -83,10 +79,9 @@ module IncludeDateScopes
83
79
 
84
80
  private
85
81
 
86
- def time_object(time)
87
- time.is_a?(Date) ? time.to_time + 1.day : time
88
- end
89
-
90
- end
82
+ def time_object(time)
83
+ time.is_a?(Date) ? time.to_time + 1.day : time
84
+ end
85
+ end
91
86
  end
92
87
 
@@ -1,4 +1,4 @@
1
1
 
2
2
  module IncludeDateScopes
3
- VERSION = '0.9.7'.freeze
3
+ VERSION = '0.9.8'.freeze
4
4
  end
@@ -55,6 +55,21 @@ describe "Model" do
55
55
  it_behaves_like 'date scopes', :show_at
56
56
  end
57
57
 
58
+ describe 'using a non-date argument' do
59
+ # This is due to a horrible design flaw in DelayedJobs. That framework
60
+ # assumes that if a delayed object has the method 'before' defined that
61
+ # that method was defined as a callback for DJ. Too bad its a common
62
+ # word that's also used by my framework.
63
+ it 'does not raise an error' do
64
+ define_model_class do
65
+ include_date_scopes_for :show_until
66
+ end
67
+ expect {
68
+ Post.before('abc')
69
+ }.to_not raise_error
70
+ end
71
+ end
72
+
58
73
  describe 'using column which does not exist yet' do
59
74
  it 'does not raise an error' do
60
75
  previous_stderr, $stderr = $stderr, StringIO.new
data/spec/spec_helper.rb CHANGED
@@ -4,6 +4,7 @@ require 'rails/all'
4
4
  require 'active_record'
5
5
  require 'active_support'
6
6
  require 'include_date_scopes'
7
+ require 'pry-byebug'
7
8
 
8
9
  if ActiveSupport::VERSION::MAJOR < 4
9
10
  require 'active_support/core_ext/logger'
@@ -35,6 +36,8 @@ end
35
36
 
36
37
  require "#{File.dirname(__FILE__)}/../lib/include_date_scopes/active_record"
37
38
 
39
+ Timecop.safe_mode = false
40
+
38
41
  RSpec.configure do |config|
39
42
 
40
43
  config.mock_with :rspec
@@ -7,13 +7,13 @@ shared_examples "between date scope" do |name|
7
7
 
8
8
  context 'with date argument' do
9
9
  subject do
10
- test_class.send "#{prefix}#{name}", *arguments
10
+ test_class.send("#{prefix}#{name}", *arguments).to_a
11
11
  end
12
12
 
13
- let(:after_threshold_obj) { test_class.create! date_column => top_threshold.to_date - 1.second }
13
+ let(:after_threshold_obj) { test_class.create! date_column => top_threshold.to_date - 1.day }
14
14
  let(:at_top_threshold_obj) { test_class.create! date_column => top_threshold.to_date }
15
15
  let(:at_bottom_threshold_obj) { test_class.create! date_column => bottom_threshold.to_date }
16
- let(:before_threshold_obj) { test_class.create! date_column => bottom_threshold.to_date + 1.second }
16
+ let(:before_threshold_obj) { test_class.create! date_column => bottom_threshold.to_date + 1.day }
17
17
 
18
18
  it { should_not include after_threshold_obj }
19
19
  it { should include at_top_threshold_obj }
@@ -29,7 +29,7 @@ shared_examples "date scopes" do |date_column = :show_until, prefix = '' |
29
29
 
30
30
  describe "date scopes" do
31
31
  describe ":between" do
32
- subject { test_class.send("#{prefix}between", 6.days.ago.to_date, 3.day.ago.to_date) }
32
+ subject { test_class.send("#{prefix}between", 6.days.ago.to_date, 3.day.ago.to_date).to_a }
33
33
 
34
34
  let(:after_threshold_obj) { test_class.create! date_column => 2.days.ago.to_date }
35
35
  let(:at_top_threshold_obj) { test_class.create! date_column => 3.days.ago.to_date }
@@ -43,7 +43,7 @@ shared_examples "date scopes" do |date_column = :show_until, prefix = '' |
43
43
  end
44
44
 
45
45
  describe ":after" do
46
- subject { test_class.send("#{prefix}after", 3.days.ago.to_date) }
46
+ subject { test_class.send("#{prefix}after", 3.days.ago.to_date).to_a }
47
47
 
48
48
  let(:after_threshold_obj) { test_class.create! date_column => 2.days.ago.to_date }
49
49
  let(:on_threshold_obj) { test_class.create! date_column => 3.days.ago.to_date }
@@ -55,7 +55,7 @@ shared_examples "date scopes" do |date_column = :show_until, prefix = '' |
55
55
  end
56
56
 
57
57
  describe ":before" do
58
- subject { test_class.send("#{prefix}before", 3.days.ago.to_date) }
58
+ subject { test_class.send("#{prefix}before", 3.days.ago.to_date).to_a }
59
59
 
60
60
  let(:after_threshold_obj) { test_class.create! date_column => 4.days.ago.to_date }
61
61
  let(:on_threshold_obj) { test_class.create! date_column => 3.days.ago.to_date }
@@ -67,7 +67,7 @@ shared_examples "date scopes" do |date_column = :show_until, prefix = '' |
67
67
  end
68
68
 
69
69
  describe ":on_or_after" do
70
- subject { test_class.send("#{prefix}on_or_after", 3.days.ago.to_date) }
70
+ subject { test_class.send("#{prefix}on_or_after", 3.days.ago.to_date).to_a }
71
71
 
72
72
  let(:after_threshold_obj) { test_class.create! date_column => 2.days.ago.to_date }
73
73
  let(:on_threshold_obj) { test_class.create! date_column => 3.days.ago.to_date }
@@ -79,7 +79,7 @@ shared_examples "date scopes" do |date_column = :show_until, prefix = '' |
79
79
  end
80
80
 
81
81
  describe ":on_or_before" do
82
- subject { test_class.send("#{prefix}on_or_before", 3.days.ago) }
82
+ subject { test_class.send("#{prefix}on_or_before", 3.days.ago).to_a }
83
83
 
84
84
  let(:after_threshold_obj) { test_class.create! date_column => 4.days.ago.to_date }
85
85
  let(:on_threshold_obj) { test_class.create! date_column => 3.days.ago.to_date }
@@ -1,7 +1,7 @@
1
1
 
2
2
  shared_examples "between time scope" do |name, difference = 1.second|
3
3
  subject do
4
- test_class.send "#{prefix}#{name}", *arguments
4
+ test_class.send("#{prefix}#{name}", *arguments).to_a
5
5
  end
6
6
 
7
7
  let(:after_threshold_obj) { test_class.create! date_column => top_threshold - difference }
@@ -16,7 +16,7 @@ shared_examples "between time scope" do |name, difference = 1.second|
16
16
  end
17
17
 
18
18
  shared_examples "open ended time scope (exclusive)" do |name|
19
- subject { test_class.send("#{prefix}#{name}", *arguments) }
19
+ subject { test_class.send("#{prefix}#{name}", *arguments).to_a }
20
20
 
21
21
  let(:after_threshold_obj) { test_class.create! date_column => threshold + 1.second }
22
22
  let(:on_threshold_obj) { test_class.create! date_column => threshold }
@@ -49,7 +49,7 @@ shared_examples "timestamp scopes" do |date_column = :created_at, prefix = '' |
49
49
 
50
50
  describe ":before" do
51
51
 
52
- subject { test_class.send("#{prefix}before", 5.minutes.ago) }
52
+ subject { test_class.send("#{prefix}before", 5.minutes.ago).to_a }
53
53
 
54
54
  let(:after_threshold_obj) { test_class.create! date_column => 5.minutes.ago + 1.second }
55
55
  let(:on_threshold_obj) { test_class.create! date_column => 5.minutes.ago }
@@ -61,7 +61,7 @@ shared_examples "timestamp scopes" do |date_column = :created_at, prefix = '' |
61
61
  end
62
62
 
63
63
  describe ":on_or_after" do
64
- subject { test_class.send("#{prefix}on_or_after", 5.minutes.ago) }
64
+ subject { test_class.send("#{prefix}on_or_after", 5.minutes.ago).to_a }
65
65
 
66
66
  let(:after_threshold_obj) { test_class.create! date_column => 5.minutes.ago + 1.second }
67
67
  let(:on_threshold_obj) { test_class.create! date_column => 5.minutes.ago }
@@ -73,7 +73,7 @@ shared_examples "timestamp scopes" do |date_column = :created_at, prefix = '' |
73
73
  end
74
74
 
75
75
  describe ":on_or_before" do
76
- subject { test_class.send("#{prefix}on_or_before", 5.minutes.ago) }
76
+ subject { test_class.send("#{prefix}on_or_before", 5.minutes.ago).to_a }
77
77
 
78
78
  let(:after_threshold_obj) { test_class.create! date_column => 5.minutes.ago + 1.second }
79
79
  let(:on_threshold_obj) { test_class.create! date_column => 5.minutes.ago }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: include_date_scopes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.7
4
+ version: 0.9.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Todd
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-09-27 00:00:00.000000000 Z
12
+ date: 2014-10-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "<"
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '4'
20
+ version: '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
- version: '4'
27
+ version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: railties
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -43,44 +43,44 @@ dependencies:
43
43
  name: rspec-rails
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ">="
46
+ - - '='
47
47
  - !ruby/object:Gem::Version
48
- version: '0'
48
+ version: 2.14.2
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
- version: '0'
55
+ version: 2.14.2
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: sqlite3
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ">="
60
+ - - '='
61
61
  - !ruby/object:Gem::Version
62
- version: '0'
62
+ version: 1.3.9
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
- version: '0'
69
+ version: 1.3.9
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: timecop
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ">="
74
+ - - '='
75
75
  - !ruby/object:Gem::Version
76
- version: '0'
76
+ version: 0.7.1
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ">="
81
+ - - '='
82
82
  - !ruby/object:Gem::Version
83
- version: '0'
83
+ version: 0.7.1
84
84
  description: "Add in ActiveRelation scopes that are common across all models. You
85
85
  can also \nadd in a prefix to those scopes so you can have multiple per model. See
86
86
  README\nfor more info.\n"
@@ -93,12 +93,17 @@ files:
93
93
  - ".gitignore"
94
94
  - ".ruby-gemset"
95
95
  - ".ruby-version"
96
+ - ".travis.yml"
97
+ - Appraisals
96
98
  - CHANGELOG.md
97
99
  - CONTRIBUTING.md
98
100
  - Gemfile
99
- - Gemfile.lock
100
101
  - LICENSE
101
102
  - README.md
103
+ - Rakefile
104
+ - gemfiles/ActiveRecord_3.2.gemfile
105
+ - gemfiles/ActiveRecord_4.0.gemfile
106
+ - gemfiles/ActiveRecord_4.1.gemfile
102
107
  - include_date_scopes.gemspec
103
108
  - lib/include_date_scopes.rb
104
109
  - lib/include_date_scopes/active_record.rb
data/Gemfile.lock DELETED
@@ -1,154 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- include_date_scopes (0.9.6)
5
- activerecord (< 4)
6
- railties
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- actionpack (3.2.17)
12
- activemodel (= 3.2.17)
13
- activesupport (= 3.2.17)
14
- builder (~> 3.0.0)
15
- erubis (~> 2.7.0)
16
- journey (~> 1.0.4)
17
- rack (~> 1.4.5)
18
- rack-cache (~> 1.2)
19
- rack-test (~> 0.6.1)
20
- sprockets (~> 2.2.1)
21
- activemodel (3.2.17)
22
- activesupport (= 3.2.17)
23
- builder (~> 3.0.0)
24
- activerecord (3.2.17)
25
- activemodel (= 3.2.17)
26
- activesupport (= 3.2.17)
27
- arel (~> 3.0.2)
28
- tzinfo (~> 0.3.29)
29
- activesupport (3.2.17)
30
- i18n (~> 0.6, >= 0.6.4)
31
- multi_json (~> 1.0)
32
- arel (3.0.3)
33
- better_errors (2.0.0)
34
- coderay (>= 1.0.0)
35
- erubis (>= 2.6.6)
36
- rack (>= 0.9.0)
37
- binding_of_caller (0.7.2)
38
- debug_inspector (>= 0.0.1)
39
- builder (3.0.4)
40
- bullet (4.13.2)
41
- activesupport (>= 3.0.0)
42
- uniform_notifier (>= 1.6.0)
43
- byebug (3.4.2)
44
- columnize (~> 0.8)
45
- debugger-linecache (~> 1.2)
46
- slop (~> 3.6)
47
- celluloid (0.16.0)
48
- timers (~> 4.0.0)
49
- coderay (1.1.0)
50
- columnize (0.8.9)
51
- debug_inspector (0.0.2)
52
- debugger-linecache (1.2.0)
53
- diff-lcs (1.2.5)
54
- erubis (2.7.0)
55
- ffi (1.9.5)
56
- formatador (0.2.5)
57
- guard (2.6.1)
58
- formatador (>= 0.2.4)
59
- listen (~> 2.7)
60
- lumberjack (~> 1.0)
61
- pry (>= 0.9.12)
62
- thor (>= 0.18.1)
63
- guard-ctags-bundler (1.1.0)
64
- guard (~> 2.0)
65
- hike (1.2.3)
66
- hitimes (1.2.2)
67
- i18n (0.6.9)
68
- interactive_editor (0.0.10)
69
- spoon (>= 0.0.1)
70
- journey (1.0.4)
71
- json (1.8.1)
72
- listen (2.7.11)
73
- celluloid (>= 0.15.2)
74
- rb-fsevent (>= 0.9.3)
75
- rb-inotify (>= 0.9)
76
- looksee (2.1.1)
77
- lumberjack (1.0.9)
78
- method_source (0.8.2)
79
- multi_json (1.9.2)
80
- pry (0.10.1)
81
- coderay (~> 1.1.0)
82
- method_source (~> 0.8.1)
83
- slop (~> 3.4)
84
- pry-byebug (2.0.0)
85
- byebug (~> 3.4)
86
- pry (~> 0.10)
87
- rack (1.4.5)
88
- rack-cache (1.2)
89
- rack (>= 0.4)
90
- rack-mini-profiler (0.9.2)
91
- rack (>= 1.1.3)
92
- rack-ssl (1.3.4)
93
- rack
94
- rack-test (0.6.2)
95
- rack (>= 1.0)
96
- railties (3.2.17)
97
- actionpack (= 3.2.17)
98
- activesupport (= 3.2.17)
99
- rack-ssl (~> 1.3.2)
100
- rake (>= 0.8.7)
101
- rdoc (~> 3.4)
102
- thor (>= 0.14.6, < 2.0)
103
- rake (10.2.2)
104
- rb-fsevent (0.9.4)
105
- rb-inotify (0.9.5)
106
- ffi (>= 0.5.0)
107
- rdoc (3.12.2)
108
- json (~> 1.4)
109
- rspec-core (2.14.8)
110
- rspec-expectations (2.14.5)
111
- diff-lcs (>= 1.1.3, < 2.0)
112
- rspec-mocks (2.14.6)
113
- rspec-rails (2.14.2)
114
- actionpack (>= 3.0)
115
- activemodel (>= 3.0)
116
- activesupport (>= 3.0)
117
- railties (>= 3.0)
118
- rspec-core (~> 2.14.0)
119
- rspec-expectations (~> 2.14.0)
120
- rspec-mocks (~> 2.14.0)
121
- slop (3.6.0)
122
- spoon (0.0.4)
123
- ffi
124
- sprockets (2.2.2)
125
- hike (~> 1.2)
126
- multi_json (~> 1.0)
127
- rack (~> 1.0)
128
- tilt (~> 1.1, != 1.3.0)
129
- sqlite3 (1.3.9)
130
- thor (0.19.1)
131
- tilt (1.4.1)
132
- timecop (0.7.1)
133
- timers (4.0.1)
134
- hitimes
135
- tzinfo (0.3.41)
136
- uniform_notifier (1.6.2)
137
-
138
- PLATFORMS
139
- ruby
140
-
141
- DEPENDENCIES
142
- better_errors
143
- binding_of_caller
144
- bullet
145
- guard-ctags-bundler
146
- include_date_scopes!
147
- interactive_editor
148
- looksee
149
- pry
150
- pry-byebug
151
- rack-mini-profiler
152
- rspec-rails
153
- sqlite3
154
- timecop