Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 17 additions & 21 deletions Appraisals
Original file line number Diff line number Diff line change
@@ -1,30 +1,26 @@
appraise "rails-4.2" do
gem "activerecord", "~> 4.2.0"
gem "sqlite3", "~> 1.3.6"
gem "pg", "~> 0.20"
end

appraise "rails-5.0" do
gem "activerecord", "~> 5.0.0"
gem "sqlite3", "~> 1.3.6"
appraise "rails-6.0" do
gem "activerecord", "~> 6.0.0"
gem 'concurrent-ruby', '1.3.4'
gem "sqlite3"
end

appraise "rails-5.1" do
gem "activerecord", "~> 5.1.0"
gem "sqlite3", "~> 1.3.6"
appraise "rails-7.0" do
gem "rails", "~> 7.0.0"
gem 'concurrent-ruby', '1.3.4'
gem "sqlite3"
end

appraise "rails-5.2" do
gem "activerecord", "~> 5.2.0"
gem "sqlite3", "~> 1.3.6"
appraise "rails-7.1" do
gem "rails", "~> 7.1.0"
gem "sqlite3"
end

appraise "rails-6.0" do
gem "activerecord", "~> 6.0.0"
gem "sqlite3", "~> 1.4.0"
appraise "rails-7.2" do
gem "rails", "~> 7.2.0"
gem "sqlite3"
end

appraise "rails-edge" do
gem "rails", git: "https://github.com/rails/rails.git", branch: "master", require: "activerecord"
gem "sqlite3", "~> 1.4.0"
appraise "rails-8.0" do
gem "rails", "~> 8.0.0"
gem "sqlite3"
end
3 changes: 2 additions & 1 deletion gemfiles/rails_6.0.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
source "https://rubygems.org"

gem "activerecord", "~> 6.0.0"
gem "sqlite3", "~> 1.4.0"
gem "concurrent-ruby", "1.3.4"
gem "sqlite3"

gemspec path: "../"
6 changes: 3 additions & 3 deletions gemfiles/rails_4.2.gemfile → gemfiles/rails_7.0.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

source "https://rubygems.org"

gem "activerecord", "~> 4.2.0"
gem "sqlite3", "~> 1.3.6"
gem "pg", "~> 0.20"
gem "rails", "~> 7.0.0"
gem "concurrent-ruby", "1.3.4"
gem "sqlite3"

gemspec path: "../"
4 changes: 2 additions & 2 deletions gemfiles/rails_5.0.gemfile → gemfiles/rails_7.1.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

source "https://rubygems.org"

gem "activerecord", "~> 5.0.0"
gem "sqlite3", "~> 1.3.6"
gem "rails", "~> 7.1.0"
gem "sqlite3"

gemspec path: "../"
4 changes: 2 additions & 2 deletions gemfiles/rails_5.1.gemfile → gemfiles/rails_7.2.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

source "https://rubygems.org"

gem "activerecord", "~> 5.1.0"
gem "sqlite3", "~> 1.3.6"
gem "rails", "~> 7.2.0"
gem "sqlite3"

gemspec path: "../"
4 changes: 2 additions & 2 deletions gemfiles/rails_5.2.gemfile → gemfiles/rails_8.0.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

source "https://rubygems.org"

gem "activerecord", "~> 5.2.0"
gem "sqlite3", "~> 1.3.6"
gem "rails", "~> 8.0.0"
gem "sqlite3"

gemspec path: "../"
4 changes: 2 additions & 2 deletions gemfiles/rails_edge.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

source "https://rubygems.org"

gem "rails", git: "https://github.com/rails/rails.git", branch: "master", require: "activerecord"
gem "sqlite3", "~> 1.4.0"
gem "rails", git: "https://github.com/rails/rails.git", branch: "main", require: "activerecord"
gem "sqlite3"

gemspec path: "../"
5 changes: 3 additions & 2 deletions lib/pluck_map/presenter.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
require "pluck_map/presenters"
require "pluck_map/visitors"
require "active_record"
require "benchmark"

module PluckMap
class Presenter
Expand Down Expand Up @@ -35,8 +36,8 @@ def pluck

def benchmark(title)
result = nil
ms = Benchmark.ms { result = yield }
PluckMap.logger.info "\e[33m#{title}: \e[1m%.1fms\e[0m" % ms
ms = Benchmark.realtime { result = yield }
PluckMap.logger.info "\e[33m#{title}: \e[1m%.1fms\e[0m" % (ms * 1000)
result
end

Expand Down
3 changes: 2 additions & 1 deletion lib/pluck_map/presenters/to_csv.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ def to_csv
end
RUBY
# puts "\e[34m#{ruby}\e[0m" # <-- helps debugging PluckMapPresenter
class_eval ruby, __FILE__, __LINE__ - 7
klass = self.is_a?(Class) ? self : self.class
klass.class_eval ruby, __FILE__, __LINE__ - ruby.length
end

end
Expand Down
3 changes: 2 additions & 1 deletion lib/pluck_map/presenters/to_h.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ def to_h
end
RUBY
# puts "\e[34m#{ruby}\e[0m" # <-- helps debugging PluckMapPresenter
class_eval ruby, __FILE__, __LINE__ - 7
klass = self.is_a?(Class) ? self : self.class
klass.class_eval ruby, __FILE__, __LINE__ - ruby.length
end

end
Expand Down
3 changes: 2 additions & 1 deletion lib/pluck_map/presenters/to_json.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ def define_to_json__optimized!
end
RUBY
# puts "\e[34m#{ruby}\e[0m" # <-- helps debugging PluckMapPresenter
class_eval ruby, __FILE__, __LINE__ - ruby.length
klass = self.is_a?(Class) ? self : self.class
klass.class_eval ruby, __FILE__, __LINE__ - ruby.length
end

def to_json_object(attributes)
Expand Down
8 changes: 6 additions & 2 deletions lib/pluck_map/relationships.rb
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ def reflection_for(model, name)
#
# ActiveRecord::Associations::AssociationScope expects the latter.
#
model._reflections.fetch(name.to_s) do
reflections = model._reflections
reflections[name.to_s] || reflections[name.to_sym] or
raise ArgumentError, "#{name} is not an association on #{model}"
end
end

def association_for(reflection)
Expand Down Expand Up @@ -82,6 +82,10 @@ def class
def [](value)
self.class.arel_table[value]
end

def _read_attribute(attr_name)
self[attr_name]
end
end

end
Expand Down
2 changes: 1 addition & 1 deletion test/test_helper.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require "rubygems"

require "minitest/reporters/turn_reporter"
MiniTest::Reporters.use! Minitest::Reporters::TurnReporter.new
Minitest::Reporters.use! Minitest::Reporters::TurnReporter.new

require "database_cleaner"
require "pluck_map"
Expand Down