nazar 0.0.2 → 0.0.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
  SHA256:
3
- metadata.gz: f20eb7af67e1ef9f7acb2831217ce27b05f654b7f076b4c85f82910bfd1e67b7
4
- data.tar.gz: 264bca42da833684146e1aeb1d711fffa7f8811055a7c785bb423e263c1a42b5
3
+ metadata.gz: ae9a224c9ae75c4e9b85ef48d22c97ea0c293b42aa859cc03dd4e0f31abed150
4
+ data.tar.gz: e2450f3e6a340c7bd6e1e239201c6bf7e7248c9e88d4e032d1e7e09be96d40aa
5
5
  SHA512:
6
- metadata.gz: '0779267b1cb0b41686eda05457056b451353f54164faaa8fbd18a0dd24828fbaaf75d6ab03b7d4aa11da340abf9cc9fdfdc3eb38a2174b9e684649848cdc897a'
7
- data.tar.gz: e3a44313685cb330e4ad47cdcdbeaa11e584060816ebdaa8020726be55b49be90dc04373c6d3f3c0c9d3e23d9aa3bb7b1feb8a2752de6a864a3f5634d20e51d2
6
+ metadata.gz: 39ed17bba483fde391edcafe72f942f7f38777f25d1baa152ddfc5121a1e2019c686f736af537e46a65e4fca6edd7a6acc02858a8d569f9bf7376b9d9e8824f3
7
+ data.tar.gz: 7318b8a9beb572d8a6732734b4847ea7bd2c856b32def45c91ee88034eef122026d5f340e88d40b983c106f793b1f5df0047d7d28526b192f3b916c311439f12
checksums.yaml.gz.sig CHANGED
Binary file
@@ -0,0 +1,42 @@
1
+ # This is a basic workflow to help you get started with Actions
2
+
3
+ name: CI
4
+
5
+ # Controls when the workflow will run
6
+ on: [push]
7
+
8
+ jobs:
9
+ build:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v2
13
+ - uses: ruby/setup-ruby@v1
14
+ with:
15
+ ruby-version: 2.7
16
+ bundler-cache: true
17
+
18
+ - name: Bundle
19
+ run: bundle
20
+ rubocop:
21
+ runs-on: ubuntu-latest
22
+ steps:
23
+ - uses: actions/checkout@v2
24
+ - uses: ruby/setup-ruby@v1
25
+ with:
26
+ ruby-version: 2.7
27
+ bundler-cache: true
28
+ - run: bundle exec rubocop --format simple
29
+ specs:
30
+ runs-on: ubuntu-latest
31
+ steps:
32
+ - uses: actions/checkout@v2
33
+ - uses: ruby/setup-ruby@v1
34
+ with:
35
+ ruby-version: 2.7
36
+ bundler-cache: true
37
+ - name: Specs
38
+ uses: paambaati/codeclimate-action@v2.7.5
39
+ env:
40
+ CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}}
41
+ with:
42
+ coverageCommand: bundle exec rspec
data/.rubocop.yml CHANGED
@@ -1,4 +1,15 @@
1
1
  AllCops:
2
2
  NewCops: enable
3
3
  Style/Documentation:
4
- Enabled: false
4
+ Enabled: false
5
+ Style/SymbolArray:
6
+ EnforcedStyle: brackets
7
+ Style/WordArray:
8
+ EnforcedStyle: brackets
9
+ Metrics/BlockLength:
10
+ Exclude:
11
+ - 'spec/**/*_spec.rb'
12
+ Layout/CaseIndentation:
13
+ EnforcedStyle: end
14
+ Layout/EndAlignment:
15
+ EnforcedStyleAlignWith: variable
data/README.md CHANGED
@@ -1,36 +1,12 @@
1
- # Nazar
1
+ # Nazar [![Build Status](https://github.com/krzyzak/nazar/actions/workflows/main.yml/badge.svg)](https://github.com/krzyzak/nazar/actions) [![Gem Version](https://badge.fury.io/rb/nazar.svg)](https://badge.fury.io/rb/nazar) [![Code Climate](https://codeclimate.com/github/krzyzak/nazar/badges/gpa.svg)](https://codeclimate.com/github/krzyzak/nazar) [![Test Coverage](https://api.codeclimate.com/v1/badges/f89b8bfdf557900e1f9f/test_coverage)](https://codeclimate.com/github/krzyzak/nazar/test_coverage)
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/nazar`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ Nazar improves defvault inspect output for console applications (supports IRB and Pry).
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ **Nazar is under heavy development now. Expect bumpy ride or wait until the API will stabilise a bit ;)**
6
6
 
7
- ## Installation
8
-
9
- Add this line to your application's Gemfile:
10
-
11
- ```ruby
12
- gem 'nazar'
13
- ```
14
-
15
- And then execute:
16
-
17
- $ bundle install
18
-
19
- Or install it yourself as:
20
-
21
- $ gem install nazar
22
-
23
- ## Usage
24
-
25
- TODO: Write usage instructions here
26
-
27
- ## Development
28
-
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
-
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
7
+ [![asciicast](https://asciinema.org/a/436814.png)](https://asciinema.org/a/436814)
32
8
 
33
9
  ## Contributing
34
10
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/nazar.
11
+ Bug reports and pull requests are welcome on GitHub at https://github.com/krzyzak/nazar.
36
12
 
@@ -11,8 +11,8 @@ module Nazar
11
11
  case type
12
12
  when :boolean
13
13
  format_boolean(value)
14
- when :numeric
15
- Pastel.new.bright_blue(value)
14
+ when :integer
15
+ Pastel.new(enabled: Nazar.config.colors.enabled).bright_blue(value)
16
16
  else
17
17
  value.nil? ? format_nil : value.to_s
18
18
  end
@@ -26,11 +26,11 @@ module Nazar
26
26
  return format_nil if value.nil?
27
27
 
28
28
  true_value, false_value = Nazar.config.formatter.boolean
29
- Formatter::TRUTHY_VALUES.include?(value) ? true_value : false_value
29
+ Formatter::TRUTHY_VALUES.include?(value.to_s.downcase) ? true_value : false_value
30
30
  end
31
31
 
32
32
  def format_nil
33
- Pastel.new.dim(Nazar.config.formatter.nil)
33
+ Pastel.new(enabled: Nazar.config.colors.enabled).dim(Nazar.config.formatter.nil)
34
34
  end
35
35
  end
36
36
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'nazar/formatter/active_record_interface'
3
4
 
4
5
  module Nazar
@@ -8,8 +9,16 @@ module Nazar
8
9
 
9
10
  def initialize(collection)
10
11
  @collection = collection
11
- @attributes = collection.first.attributes
12
- @klass = collection.first.class
12
+ @collection.load if @collection.respond_to?(:loaded?) && !@collection.loaded?
13
+
14
+ @attributes = collection.first&.attributes
15
+ @klass = collection.first&.class
16
+ end
17
+
18
+ def self.valid?(data)
19
+ data.is_a?(ActiveRecord::Associations::CollectionProxy) ||
20
+ data.is_a?(ActiveRecord::Relation) ||
21
+ (data.is_a?(Array) && data.first.is_a?(ActiveRecord::Base))
13
22
  end
14
23
 
15
24
  def summary
@@ -1,8 +1,14 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nazar
2
4
  module Formatter
3
5
  module ActiveRecordInterface
4
6
  attr_reader :collection, :klass, :attributes
5
7
 
8
+ def valid?
9
+ !!(attributes && klass)
10
+ end
11
+
6
12
  def headers
7
13
  HeadersFormatter.new(attributes.keys).format
8
14
  end
@@ -16,4 +22,4 @@ module Nazar
16
22
  end
17
23
  end
18
24
  end
19
- end
25
+ end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'nazar/formatter/active_record_interface'
3
4
 
4
5
  module Nazar
@@ -12,6 +13,10 @@ module Nazar
12
13
  @klass = item.class
13
14
  end
14
15
 
16
+ def self.valid?(data)
17
+ data.is_a?(ActiveRecord::Base)
18
+ end
19
+
15
20
  def summary
16
21
  false
17
22
  end
@@ -9,6 +9,14 @@ module Nazar
9
9
  @collection = collection
10
10
  end
11
11
 
12
+ def self.valid?(data)
13
+ data.is_a?(CSV::Table)
14
+ end
15
+
16
+ def valid?
17
+ !!collection && !collection.empty?
18
+ end
19
+
12
20
  def headers
13
21
  HeadersFormatter.new(collection.headers).format
14
22
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'nazar/formatter/sequel_interface'
4
+
5
+ module Nazar
6
+ module Formatter
7
+ class SequelCollection
8
+ include SequelInterface
9
+
10
+ def initialize(collection)
11
+ @collection = collection
12
+ @attributes = collection.first&.values
13
+ end
14
+
15
+ def self.valid?(data)
16
+ data.is_a?(Array) && data.first.is_a?(Sequel::Model)
17
+ end
18
+
19
+ def summary
20
+ collection.size
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nazar
4
+ module Formatter
5
+ module SequelInterface
6
+ attr_reader :collection, :klass, :attributes
7
+
8
+ def valid?
9
+ !!attributes
10
+ end
11
+
12
+ def headers
13
+ HeadersFormatter.new(attributes.keys).format
14
+ end
15
+
16
+ def cells
17
+ @cells ||= begin
18
+ schema = collection.first.db_schema
19
+
20
+ collection.map do |item|
21
+ item.values.map do |column, value|
22
+ CellFormatter.new(value, type: schema.dig(column, :type)).format
23
+ end
24
+ end
25
+ end
26
+ end
27
+
28
+ def summary
29
+ collection.size
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'nazar/formatter/sequel_interface'
4
+
5
+ module Nazar
6
+ module Formatter
7
+ class SequelItem
8
+ include SequelInterface
9
+
10
+ def initialize(item)
11
+ @collection = [item]
12
+ @attributes = item.values
13
+ @klass = item.class
14
+ end
15
+
16
+ def self.valid?(data)
17
+ data.is_a?(Sequel::Model)
18
+ end
19
+
20
+ def summary
21
+ false
22
+ end
23
+ end
24
+ end
25
+ end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Nazar
4
4
  module Formatter
5
- TRUTHY_VALUES = ['true', 'yes', true].freeze
6
- FALSY_VALUES = ['false', 'no', false].freeze
5
+ TRUTHY_VALUES = ['true', 'yes'].freeze
6
+ FALSY_VALUES = ['false', 'no'].freeze
7
7
  end
8
8
  end
@@ -15,7 +15,7 @@ module Nazar
15
15
  attr_reader :headers
16
16
 
17
17
  def pastel
18
- @pastel ||= Pastel.new
18
+ @pastel ||= Pastel.new(enabled: Nazar.config.colors.enabled)
19
19
  end
20
20
  end
21
21
  end
@@ -7,7 +7,12 @@ module Nazar
7
7
  end
8
8
 
9
9
  def render
10
- pager.page(view.render) if view.supported_data?
10
+ pager.page(view.render)
11
+ nil
12
+ end
13
+
14
+ def valid?
15
+ view.supported_data?
11
16
  end
12
17
 
13
18
  def pager
@@ -18,10 +23,6 @@ module Nazar
18
23
 
19
24
  attr_reader :data
20
25
 
21
- def render_table?
22
- view.enabled?
23
- end
24
-
25
26
  def view
26
27
  @view ||= View.new(data)
27
28
  end
data/lib/nazar/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nazar
4
- VERSION = '0.0.2'
4
+ VERSION = '0.0.8'
5
5
  end
data/lib/nazar/view.rb CHANGED
@@ -13,13 +13,13 @@ module Nazar
13
13
  def render
14
14
  return unless supported_data?
15
15
 
16
- add_summary if summary
17
-
18
- table
16
+ table.tap do
17
+ add_summary if summary
18
+ end
19
19
  end
20
20
 
21
21
  def supported_data?
22
- !!formatter_klass
22
+ !!formatter_klass && formatter.valid?
23
23
  end
24
24
 
25
25
  private
@@ -27,35 +27,16 @@ module Nazar
27
27
  attr_reader :data
28
28
 
29
29
  def formatter_klass
30
- case data
31
- when acttive_record_collection?
32
- Formatter::ActiveRecordCollection
33
- when active_record_item?
34
- Formatter::ActiveRecordItem
35
- when CSV::Table
36
- Formatter::CSVTable
37
- end
30
+ @formatter_klass ||= Nazar.formatters.find { |klass| klass.valid?(data) }
38
31
  end
39
32
 
40
33
  def formatter
41
- formatter_klass.new(data)
42
- end
43
-
44
- def acttive_record_collection?
45
- proc do
46
- data.is_a?(ActiveRecord::Associations::CollectionProxy) ||
47
- data.is_a?(ActiveRecord::Relation) ||
48
- (data.is_a?(Array) && data.first.is_a?(ActiveRecord::Base))
49
- end
50
- end
51
-
52
- def active_record_item?
53
- proc { data.is_a?(ActiveRecord::Base) }
34
+ @formatter ||= formatter_klass.new(data)
54
35
  end
55
36
 
56
37
  def add_summary
57
38
  table.add_separator
58
- table.add_row [Pastel.new.bold('Total'), { value: summary, colspan: headers.size - 1 }]
39
+ table.add_row [pastel.bold('Total'), { value: summary, colspan: headers.size - 1 }]
59
40
  end
60
41
 
61
42
  def table
@@ -65,5 +46,9 @@ module Nazar
65
46
  style: { border: :unicode_thick_edge }
66
47
  )
67
48
  end
49
+
50
+ def pastel
51
+ @pastel ||= Pastel.new(enabled: Nazar.config.colors.enabled)
52
+ end
68
53
  end
69
54
  end
data/lib/nazar.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_record'
4
- require 'csv'
5
3
  require 'dry-configurable'
6
4
  require 'terminal-table'
7
5
  require 'pastel'
@@ -12,9 +10,6 @@ require 'nazar/cell_formatter'
12
10
  require 'nazar/headers_formatter'
13
11
  require 'nazar/renderer'
14
12
  require 'nazar/formatter'
15
- require 'nazar/formatter/csv_table'
16
- require 'nazar/formatter/active_record_collection'
17
- require 'nazar/formatter/active_record_item'
18
13
  require 'nazar/view'
19
14
 
20
15
  module Nazar
@@ -25,44 +20,86 @@ module Nazar
25
20
  setting :boolean, default: ['✓', '✗']
26
21
  end
27
22
 
28
- def self.enable!
29
- return if @enabled
23
+ setting :colors do
24
+ setting :enabled, default: ENV.fetch('ENABLE_TTY_COLORS') { TTY::Color.color? ? 'true' : 'false' } == 'true'
25
+ end
26
+
27
+ class << self
28
+ def formatters
29
+ @formatters ||= Set.new
30
+ end
30
31
 
31
- enable_for_irb! if defined?(IRB)
32
- enable_for_pry! if defined?(Pry)
32
+ def enable!(extensions: [:active_record, :csv])
33
+ return if @enabled
33
34
 
34
- @enabled = true
35
- end
35
+ load_active_record! if extensions.include?(:active_record)
36
+ load_csv! if extensions.include?(:csv)
37
+ load_sequel! if extensions.include?(:sequel)
38
+
39
+ enable_for_irb! if defined?(IRB)
40
+ enable_for_pry! if defined?(Pry)
41
+
42
+ @enabled = true
43
+ end
44
+
45
+ def load_csv!
46
+ require 'csv'
47
+
48
+ register_formatter!('CSVTable', 'nazar/formatter/csv_table')
49
+ end
50
+
51
+ def load_active_record!
52
+ require 'active_record'
53
+
54
+ register_formatter!('ActiveRecordCollection', 'nazar/formatter/active_record_collection')
55
+ register_formatter!('ActiveRecordItem', 'nazar/formatter/active_record_item')
56
+ end
57
+
58
+ def load_sequel!
59
+ require 'sequel'
36
60
 
37
- def self.enable_for_irb!
38
- ::IRB::Irb.class_eval do
39
- alias_method :__original_output_value__, :output_value
40
- def output_value(omit = false) # rubocop:disable Style/OptionalBooleanParameter
41
- ::Nazar::Renderer.new(@context.last_value).render || __original_output_value__(omit)
61
+ register_formatter!('SequelCollection', 'nazar/formatter/sequel_collection')
62
+ register_formatter!('SequelItem', 'nazar/formatter/sequel_item')
63
+ end
64
+
65
+ def register_formatter!(klass_name, path)
66
+ require path
67
+
68
+ formatters << Nazar::Formatter.const_get(klass_name)
69
+ end
70
+
71
+ def enable_for_irb!
72
+ ::IRB::Irb.class_eval do
73
+ alias_method :__original_output_value__, :output_value
74
+ def output_value(omit = false) # rubocop:disable Style/OptionalBooleanParameter
75
+ renderer = Nazar::Renderer.new(@context.last_value)
76
+ renderer.valid? ? renderer.render : __original_output_value__(omit)
77
+ end
42
78
  end
43
79
  end
44
- end
45
80
 
46
- def self.enable_for_pry!
47
- @__original_pry_print = Pry.config.print
48
- Pry.config.print = proc do |output, value, instance|
49
- output.puts Nazar::Renderer.new(value).render || @__original_pry_print.call(output, value, instance)
81
+ def enable_for_pry!
82
+ @__original_pry_print = Pry.config.print
83
+ Pry.config.print = proc do |output, value, instance|
84
+ renderer = Nazar::Renderer.new(value)
85
+ renderer.valid? ? renderer.render : @__original_pry_print.call(output, value, instance)
86
+ end
50
87
  end
51
- end
52
88
 
53
- def self.disable!
54
- return unless @enabled
89
+ def disable!
90
+ return unless @enabled
55
91
 
56
- disable_for_irb! if defined?(IRB)
92
+ disable_for_irb! if defined?(IRB)
57
93
 
58
- @enabled = false
59
- end
94
+ @enabled = false
95
+ end
60
96
 
61
- def self.disable_for_irb!
62
- ::IRB::Irb.send(:alias_method, :output_value, :__original_output_value__)
63
- end
97
+ def disable_for_irb!
98
+ ::IRB::Irb.send(:alias_method, :output_value, :__original_output_value__)
99
+ end
64
100
 
65
- def self.disable_for_pry!
66
- nil
101
+ def disable_for_pry!
102
+ nil
103
+ end
67
104
  end
68
105
  end
data/nazar.gemspec CHANGED
@@ -24,11 +24,14 @@ Gem::Specification.new do |spec|
24
24
  spec.require_paths = ['lib']
25
25
 
26
26
  spec.cert_chain = ['certs/krzyzak.pem']
27
- spec.signing_key = File.expand_path("~/.ssh/gem-private_key.pem") if $0 =~ /gem\z/
27
+ spec.signing_key = File.expand_path('~/.ssh/gem-private_key.pem') if $PROGRAM_NAME =~ /gem\z/
28
28
 
29
+ spec.add_development_dependency 'activerecord', '>= 3.0', '< 6.2'
29
30
  spec.add_development_dependency 'rubocop', '~> 1.21'
31
+ spec.add_development_dependency 'sequel', '~> 5.0'
32
+ spec.add_development_dependency 'simplecov', '~> 0.20'
33
+ spec.add_development_dependency 'sqlite3', '~> 1.0'
30
34
 
31
- spec.add_runtime_dependency 'activerecord', '>= 3.0', '< 6.2'
32
35
  spec.add_runtime_dependency 'dry-configurable', '~> 0.12'
33
36
  spec.add_runtime_dependency 'pastel', '~> 0.8'
34
37
  spec.add_runtime_dependency 'terminal-table', '~> 3.0'
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nazar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michał Krzyżanowski
@@ -36,8 +36,28 @@ cert_chain:
36
36
  FlwFUDGjWAe8lcsjyGp1dox0FK91TAHdZW1op8LYnOcO2DM8Mgzu4Gp7mibATEnx
37
37
  ooN2pwmH
38
38
  -----END CERTIFICATE-----
39
- date: 2021-09-17 00:00:00.000000000 Z
39
+ date: 2021-09-24 00:00:00.000000000 Z
40
40
  dependencies:
41
+ - !ruby/object:Gem::Dependency
42
+ name: activerecord
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '6.2'
51
+ type: :development
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: '3.0'
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '6.2'
41
61
  - !ruby/object:Gem::Dependency
42
62
  name: rubocop
43
63
  requirement: !ruby/object:Gem::Requirement
@@ -53,25 +73,47 @@ dependencies:
53
73
  - !ruby/object:Gem::Version
54
74
  version: '1.21'
55
75
  - !ruby/object:Gem::Dependency
56
- name: activerecord
76
+ name: sequel
57
77
  requirement: !ruby/object:Gem::Requirement
58
78
  requirements:
59
- - - ">="
79
+ - - "~>"
60
80
  - !ruby/object:Gem::Version
61
- version: '3.0'
62
- - - "<"
81
+ version: '5.0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
63
87
  - !ruby/object:Gem::Version
64
- version: '6.2'
65
- type: :runtime
88
+ version: '5.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: simplecov
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0.20'
96
+ type: :development
66
97
  prerelease: false
67
98
  version_requirements: !ruby/object:Gem::Requirement
68
99
  requirements:
69
- - - ">="
100
+ - - "~>"
70
101
  - !ruby/object:Gem::Version
71
- version: '3.0'
72
- - - "<"
102
+ version: '0.20'
103
+ - !ruby/object:Gem::Dependency
104
+ name: sqlite3
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
73
108
  - !ruby/object:Gem::Version
74
- version: '6.2'
109
+ version: '1.0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '1.0'
75
117
  - !ruby/object:Gem::Dependency
76
118
  name: dry-configurable
77
119
  requirement: !ruby/object:Gem::Requirement
@@ -135,6 +177,7 @@ executables: []
135
177
  extensions: []
136
178
  extra_rdoc_files: []
137
179
  files:
180
+ - ".github/workflows/main.yml"
138
181
  - ".gitignore"
139
182
  - ".rspec"
140
183
  - ".rubocop.yml"
@@ -152,6 +195,9 @@ files:
152
195
  - lib/nazar/formatter/active_record_interface.rb
153
196
  - lib/nazar/formatter/active_record_item.rb
154
197
  - lib/nazar/formatter/csv_table.rb
198
+ - lib/nazar/formatter/sequel_collection.rb
199
+ - lib/nazar/formatter/sequel_interface.rb
200
+ - lib/nazar/formatter/sequel_item.rb
155
201
  - lib/nazar/headers_formatter.rb
156
202
  - lib/nazar/renderer.rb
157
203
  - lib/nazar/version.rb
metadata.gz.sig CHANGED
Binary file