Sha256: 307adc1bde6bdb55f15e7c9f3f542d15483b75d08894fc10be22852899e8f576

Contents?: true

Size: 1.23 KB

Versions: 2

Compression:

Stored size: 1.23 KB

Contents

# ARQLogger

This is ActiveRecord Query Logger.

This gem logs count of query and duration of only querying.

# Installation

```ruby
gem 'a_r_q_logger'
```

or

```ruby
gem 'a_r_q_logger', require: false

require 'a_r_q_logger'
```

# Usage

## In tests

## count queries

```ruby
before :all do
  10.times {
    TestChildModel.create!(test_model: TestModel.create!, name: SecureRandom.hex(4))
  }
end

it do
  expect(ARQLogger.log {
    TestModel.includes(:test_child_models).all.each { |m| m.test_child_models.map(&:name) }
  }.count).to eq(2)
end

it do
  expect(ARQLogger.log {
    TestModel.all.each { |m| m.test_child_models.map(&:name) }
  }.count).to eq(11)
end
```

## count instantiating

```ruby
before :all do
  10.times {
    TestChildModel.create!(test_model: TestModel.create!, name: SecureRandom.hex(4))
  }
end

it do
  expect(ARQLogger.log {
    TestModel.includes(:test_child_models).load
  }.instances).to eq(20)
end

it do
  expect(ARQLogger.log {
    TestModel.joins(:test_child_models).select('test_child_models.id as as_id').load
  }.instances).to eq(10)
end
```


## In Anywhere

```
pry(main)> ARQLogger.log { 3.times { TestModel.has_children(10).map(&:children_count) } } 
=> #<struct ARQLogger::Result count=3, msec=1508.4>
```

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
a_r_q_logger-1.0.0 README.md
a_r_q_logger-0.0.8 README.md