faker-bot 0.4.5 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/CHANGELOG.md +143 -0
- data/Gemfile.lock +2 -2
- data/Guardfile +0 -52
- data/README.md +4 -0
- data/lib/faker/bot.rb +32 -33
- data/lib/faker/bot/commands/list.rb +13 -0
- data/lib/faker/bot/reflector.rb +3 -0
- data/lib/faker/bot/reflectors/list.rb +18 -4
- data/lib/faker/bot/reflectors/search.rb +12 -6
- data/lib/faker/bot/version.rb +1 -1
- metadata +4 -5
- data/faker-cli-0.4.5.gem +0 -0
- data/lib/faker/renderer.rb +0 -91
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4a409150c431509d7ccda5b95da8d39505da24b64f7d4d13a30674765750e266
|
|
4
|
+
data.tar.gz: 17ec8d367dff5cf0c089ec785ace9b909e7c6b4f3aaaaaacb24f3a9ef0f558cd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 02cccefaf2d42f27255be1b5d1212fdf95c7cd02ea043affe8d39e3e3f3aab6ab5b75c26a21a82e6a5dadf3af2c3b8c8b79e2132380257be3443e3c26bcef498
|
|
7
|
+
data.tar.gz: 252b837519d144f6cb8260c1dcec298cd847c3fce9af9338b99705fb4e7ad854b887d08b00b7ec94f053ea0c134f43a8e0a9f0d04af41b32119f74182b34b385
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.5.3
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
## [Unreleased](https://github.com/faker-ruby/faker-bot/tree/HEAD)
|
|
4
|
+
|
|
5
|
+
[Full Changelog](https://github.com/faker-ruby/faker-bot/compare/v0.4.5...HEAD)
|
|
6
|
+
|
|
7
|
+
**Implemented enhancements:**
|
|
8
|
+
|
|
9
|
+
- Let `faker list` accept arguments [\#20](https://github.com/faker-ruby/faker-bot/issues/20)
|
|
10
|
+
- Allow list to accept filter and match on class name [\#39](https://github.com/faker-ruby/faker-bot/pull/39) ([bpleslie](https://github.com/bpleslie))
|
|
11
|
+
- Allow search to accept namespaces and partial matches [\#38](https://github.com/faker-ruby/faker-bot/pull/38) ([bpleslie](https://github.com/bpleslie))
|
|
12
|
+
|
|
13
|
+
**Fixed bugs:**
|
|
14
|
+
|
|
15
|
+
- Skip Faker Deprecation Warnings; The CLI handles that - II [\#33](https://github.com/faker-ruby/faker-bot/pull/33) ([akabiru](https://github.com/akabiru))
|
|
16
|
+
|
|
17
|
+
**Closed issues:**
|
|
18
|
+
|
|
19
|
+
- Fakerbot not searching namespace [\#36](https://github.com/faker-ruby/faker-bot/issues/36)
|
|
20
|
+
|
|
21
|
+
**Merged pull requests:**
|
|
22
|
+
|
|
23
|
+
- Add CI & QA Badges [\#34](https://github.com/faker-ruby/faker-bot/pull/34) ([akabiru](https://github.com/akabiru))
|
|
24
|
+
- Chore: CleanUp [\#32](https://github.com/faker-ruby/faker-bot/pull/32) ([akabiru](https://github.com/akabiru))
|
|
25
|
+
|
|
26
|
+
## [v0.4.5](https://github.com/faker-ruby/faker-bot/tree/v0.4.5) (2019-07-11)
|
|
27
|
+
[Full Changelog](https://github.com/faker-ruby/faker-bot/compare/v0.4.4...v0.4.5)
|
|
28
|
+
|
|
29
|
+
**Implemented enhancements:**
|
|
30
|
+
|
|
31
|
+
- faker-bot should be a separate gem [\#26](https://github.com/faker-ruby/faker-bot/issues/26)
|
|
32
|
+
- Gem name should be faker-bot [\#31](https://github.com/faker-ruby/faker-bot/pull/31) ([vbrazo](https://github.com/vbrazo))
|
|
33
|
+
- Distribute Faker::Reflector Responsibilities [\#22](https://github.com/faker-ruby/faker-bot/pull/22) ([akabiru](https://github.com/akabiru))
|
|
34
|
+
|
|
35
|
+
**Closed issues:**
|
|
36
|
+
|
|
37
|
+
- Integrate faker-bot in faker-ruby organization [\#27](https://github.com/faker-ruby/faker-bot/issues/27)
|
|
38
|
+
- Fix "NestedIterators" issue in lib/fakerbot/reflectors/search.rb [\#24](https://github.com/faker-ruby/faker-bot/issues/24)
|
|
39
|
+
|
|
40
|
+
**Merged pull requests:**
|
|
41
|
+
|
|
42
|
+
- Update README to republish faker-cli [\#29](https://github.com/faker-ruby/faker-bot/pull/29) ([vbrazo](https://github.com/vbrazo))
|
|
43
|
+
- chore: Rename from FakerBot to Faker::CLI [\#28](https://github.com/faker-ruby/faker-bot/pull/28) ([akabiru](https://github.com/akabiru))
|
|
44
|
+
- Add deprecation notes; thank you contributors! 🎉 [\#25](https://github.com/faker-ruby/faker-bot/pull/25) ([akabiru](https://github.com/akabiru))
|
|
45
|
+
|
|
46
|
+
## [v0.4.4](https://github.com/faker-ruby/faker-bot/tree/v0.4.4) (2019-01-18)
|
|
47
|
+
[Full Changelog](https://github.com/faker-ruby/faker-bot/compare/v0.4.3...v0.4.4)
|
|
48
|
+
|
|
49
|
+
**Implemented enhancements:**
|
|
50
|
+
|
|
51
|
+
- Add Unit tests for `FakerBot::Renderer` [\#11](https://github.com/faker-ruby/faker-bot/issues/11)
|
|
52
|
+
|
|
53
|
+
**Merged pull requests:**
|
|
54
|
+
|
|
55
|
+
- release v0.4.4 [\#21](https://github.com/faker-ruby/faker-bot/pull/21) ([akabiru](https://github.com/akabiru))
|
|
56
|
+
- Skip Gem::Deprecate Warnings; The CLI handles that [\#19](https://github.com/faker-ruby/faker-bot/pull/19) ([akabiru](https://github.com/akabiru))
|
|
57
|
+
- Touch Up Tests [\#18](https://github.com/faker-ruby/faker-bot/pull/18) ([akabiru](https://github.com/akabiru))
|
|
58
|
+
- chore\(workflow\): Add test runner for dev [\#17](https://github.com/faker-ruby/faker-bot/pull/17) ([akabiru](https://github.com/akabiru))
|
|
59
|
+
- Add CodeClimate [\#16](https://github.com/faker-ruby/faker-bot/pull/16) ([akabiru](https://github.com/akabiru))
|
|
60
|
+
- Update main.workflow [\#15](https://github.com/faker-ruby/faker-bot/pull/15) ([akabiru](https://github.com/akabiru))
|
|
61
|
+
|
|
62
|
+
## [v0.4.3](https://github.com/faker-ruby/faker-bot/tree/v0.4.3) (2018-10-07)
|
|
63
|
+
[Full Changelog](https://github.com/faker-ruby/faker-bot/compare/v0.4.2...v0.4.3)
|
|
64
|
+
|
|
65
|
+
**Implemented enhancements:**
|
|
66
|
+
|
|
67
|
+
- Improve Search [\#13](https://github.com/faker-ruby/faker-bot/issues/13)
|
|
68
|
+
|
|
69
|
+
**Merged pull requests:**
|
|
70
|
+
|
|
71
|
+
- Improve search functionality [\#14](https://github.com/faker-ruby/faker-bot/pull/14) ([codealchemy](https://github.com/codealchemy))
|
|
72
|
+
|
|
73
|
+
## [v0.4.2](https://github.com/faker-ruby/faker-bot/tree/v0.4.2) (2018-10-04)
|
|
74
|
+
[Full Changelog](https://github.com/faker-ruby/faker-bot/compare/v0.4.1...v0.4.2)
|
|
75
|
+
|
|
76
|
+
**Implemented enhancements:**
|
|
77
|
+
|
|
78
|
+
- Handle Deprecation Warnings [\#7](https://github.com/faker-ruby/faker-bot/issues/7)
|
|
79
|
+
- Sort `fakerbot list` alphabetically [\#4](https://github.com/faker-ruby/faker-bot/issues/4)
|
|
80
|
+
|
|
81
|
+
**Fixed bugs:**
|
|
82
|
+
|
|
83
|
+
- Handle Deprecation Warnings [\#7](https://github.com/faker-ruby/faker-bot/issues/7)
|
|
84
|
+
|
|
85
|
+
**Merged pull requests:**
|
|
86
|
+
|
|
87
|
+
- Support `search` for ruby less than 2.4.0 [\#12](https://github.com/faker-ruby/faker-bot/pull/12) ([kfpo](https://github.com/kfpo))
|
|
88
|
+
|
|
89
|
+
## [v0.4.1](https://github.com/faker-ruby/faker-bot/tree/v0.4.1) (2018-09-18)
|
|
90
|
+
[Full Changelog](https://github.com/faker-ruby/faker-bot/compare/v0.4.0...v0.4.1)
|
|
91
|
+
|
|
92
|
+
**Merged pull requests:**
|
|
93
|
+
|
|
94
|
+
- Handle Deprecation Warnings [\#10](https://github.com/faker-ruby/faker-bot/pull/10) ([shtakai](https://github.com/shtakai))
|
|
95
|
+
|
|
96
|
+
## [v0.4.0](https://github.com/faker-ruby/faker-bot/tree/v0.4.0) (2018-08-13)
|
|
97
|
+
[Full Changelog](https://github.com/faker-ruby/faker-bot/compare/v0.3.0...v0.4.0)
|
|
98
|
+
|
|
99
|
+
**Implemented enhancements:**
|
|
100
|
+
|
|
101
|
+
- Add flag to show sample faker output [\#5](https://github.com/faker-ruby/faker-bot/issues/5)
|
|
102
|
+
|
|
103
|
+
**Fixed bugs:**
|
|
104
|
+
|
|
105
|
+
- Only show public class methods [\#3](https://github.com/faker-ruby/faker-bot/issues/3)
|
|
106
|
+
|
|
107
|
+
**Merged pull requests:**
|
|
108
|
+
|
|
109
|
+
- Include Faker sample output [\#6](https://github.com/faker-ruby/faker-bot/pull/6) ([akabiru](https://github.com/akabiru))
|
|
110
|
+
|
|
111
|
+
## [v0.3.0](https://github.com/faker-ruby/faker-bot/tree/v0.3.0) (2018-08-10)
|
|
112
|
+
[Full Changelog](https://github.com/faker-ruby/faker-bot/compare/v0.2.4...v0.3.0)
|
|
113
|
+
|
|
114
|
+
**Merged pull requests:**
|
|
115
|
+
|
|
116
|
+
- Add `fakerbot list` Command [\#2](https://github.com/faker-ruby/faker-bot/pull/2) ([akabiru](https://github.com/akabiru))
|
|
117
|
+
|
|
118
|
+
## [v0.2.4](https://github.com/faker-ruby/faker-bot/tree/v0.2.4) (2018-08-10)
|
|
119
|
+
[Full Changelog](https://github.com/faker-ruby/faker-bot/compare/v0.2.3...v0.2.4)
|
|
120
|
+
|
|
121
|
+
## [v0.2.3](https://github.com/faker-ruby/faker-bot/tree/v0.2.3) (2018-08-09)
|
|
122
|
+
[Full Changelog](https://github.com/faker-ruby/faker-bot/compare/v0.2.1...v0.2.3)
|
|
123
|
+
|
|
124
|
+
## [v0.2.1](https://github.com/faker-ruby/faker-bot/tree/v0.2.1) (2018-08-09)
|
|
125
|
+
[Full Changelog](https://github.com/faker-ruby/faker-bot/compare/v0.2.0...v0.2.1)
|
|
126
|
+
|
|
127
|
+
## [v0.2.0](https://github.com/faker-ruby/faker-bot/tree/v0.2.0) (2018-08-09)
|
|
128
|
+
[Full Changelog](https://github.com/faker-ruby/faker-bot/compare/v0.1.2...v0.2.0)
|
|
129
|
+
|
|
130
|
+
## [v0.1.2](https://github.com/faker-ruby/faker-bot/tree/v0.1.2) (2018-07-24)
|
|
131
|
+
[Full Changelog](https://github.com/faker-ruby/faker-bot/compare/v0.1.1...v0.1.2)
|
|
132
|
+
|
|
133
|
+
## [v0.1.1](https://github.com/faker-ruby/faker-bot/tree/v0.1.1) (2018-07-03)
|
|
134
|
+
[Full Changelog](https://github.com/faker-ruby/faker-bot/compare/v0.1.0...v0.1.1)
|
|
135
|
+
|
|
136
|
+
## [v0.1.0](https://github.com/faker-ruby/faker-bot/tree/v0.1.0) (2018-07-03)
|
|
137
|
+
**Merged pull requests:**
|
|
138
|
+
|
|
139
|
+
- Add Reflectors [\#1](https://github.com/faker-ruby/faker-bot/pull/1) ([akabiru](https://github.com/akabiru))
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
faker-bot (0.
|
|
4
|
+
faker-bot (0.5.0)
|
|
5
5
|
faker
|
|
6
6
|
pastel (~> 0.7.2)
|
|
7
7
|
thor (~> 0.20.0)
|
|
@@ -25,7 +25,7 @@ GEM
|
|
|
25
25
|
domain_name (0.5.20190701)
|
|
26
26
|
unf (>= 0.0.5, < 1.0.0)
|
|
27
27
|
equatable (0.6.1)
|
|
28
|
-
faker (
|
|
28
|
+
faker (2.0)
|
|
29
29
|
i18n (>= 0.7)
|
|
30
30
|
ffi (1.11.1)
|
|
31
31
|
formatador (0.2.5)
|
data/Guardfile
CHANGED
|
@@ -1,31 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# A sample Guardfile
|
|
4
3
|
# More info at https://github.com/guard/guard#readme
|
|
5
|
-
|
|
6
|
-
## Uncomment and set this to only include directories you want to watch
|
|
7
|
-
# directories %w(app lib config test spec features) \
|
|
8
|
-
# .select{|d| Dir.exist?(d) ? d : UI.warning("Directory #{d} does not exist")}
|
|
9
|
-
|
|
10
|
-
## Note: if you are using the `directories` clause above and you are not
|
|
11
|
-
## watching the project directory ('.'), then you will want to move
|
|
12
|
-
## the Guardfile to a watched dir and symlink it back, e.g.
|
|
13
|
-
#
|
|
14
|
-
# $ mkdir config
|
|
15
|
-
# $ mv Guardfile config/
|
|
16
|
-
# $ ln -s config/Guardfile .
|
|
17
4
|
#
|
|
18
|
-
# and, you'll have to watch "config/Guardfile" instead of "Guardfile"
|
|
19
|
-
|
|
20
|
-
# Note: The cmd option is now required due to the increasing number of ways
|
|
21
|
-
# rspec may be run, below are examples of the most common uses.
|
|
22
|
-
# * bundler: 'bundle exec rspec'
|
|
23
|
-
# * bundler binstubs: 'bin/rspec'
|
|
24
|
-
# * spring: 'bin/rspec' (This will use spring if running and you have
|
|
25
|
-
# installed the spring binstubs per the docs)
|
|
26
|
-
# * zeus: 'zeus rspec' (requires the server to be started separately)
|
|
27
|
-
# * 'just' rspec: 'rspec'
|
|
28
|
-
|
|
29
5
|
guard :rspec, cmd: 'bundle exec rspec' do
|
|
30
6
|
require 'guard/rspec/dsl'
|
|
31
7
|
dsl = Guard::RSpec::Dsl.new(self)
|
|
@@ -41,32 +17,4 @@ guard :rspec, cmd: 'bundle exec rspec' do
|
|
|
41
17
|
# Ruby files
|
|
42
18
|
ruby = dsl.ruby
|
|
43
19
|
dsl.watch_spec_files_for(ruby.lib_files)
|
|
44
|
-
|
|
45
|
-
# Rails files
|
|
46
|
-
rails = dsl.rails(view_extensions: %w[erb haml slim])
|
|
47
|
-
dsl.watch_spec_files_for(rails.app_files)
|
|
48
|
-
dsl.watch_spec_files_for(rails.views)
|
|
49
|
-
|
|
50
|
-
watch(rails.controllers) do |m|
|
|
51
|
-
[
|
|
52
|
-
rspec.spec.call("routing/#{m[1]}_routing"),
|
|
53
|
-
rspec.spec.call("controllers/#{m[1]}_controller"),
|
|
54
|
-
rspec.spec.call("acceptance/#{m[1]}")
|
|
55
|
-
]
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
# Rails config changes
|
|
59
|
-
watch(rails.spec_helper) { rspec.spec_dir }
|
|
60
|
-
watch(rails.routes) { "#{rspec.spec_dir}/routing" }
|
|
61
|
-
watch(rails.app_controller) { "#{rspec.spec_dir}/controllers" }
|
|
62
|
-
|
|
63
|
-
# Capybara features specs
|
|
64
|
-
watch(rails.view_dirs) { |m| rspec.spec.call("features/#{m[1]}") }
|
|
65
|
-
watch(rails.layouts) { |m| rspec.spec.call("features/#{m[1]}") }
|
|
66
|
-
|
|
67
|
-
# Turnip features and steps
|
|
68
|
-
watch(%r{^spec/acceptance/(.+)\.feature$})
|
|
69
|
-
watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) do |m|
|
|
70
|
-
Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance'
|
|
71
|
-
end
|
|
72
20
|
end
|
data/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# faker-bot
|
|
2
2
|
|
|
3
|
+
[](https://travis-ci.org/faker-ruby/faker-bot)
|
|
4
|
+
[](https://badge.fury.io/rb/faker-bot)
|
|
5
|
+
[](https://www.codetriage.com/faker-ruby/faker-bot)
|
|
6
|
+
|
|
3
7
|
> Quickly look up [Faker](https://github.com/stympy/faker) methods without leaving your terminal!
|
|
4
8
|
|
|
5
9
|
## Installation
|
data/lib/faker/bot.rb
CHANGED
|
@@ -10,42 +10,41 @@ module Faker
|
|
|
10
10
|
module Bot
|
|
11
11
|
class Base < Thor
|
|
12
12
|
Error = Class.new(StandardError)
|
|
13
|
-
# Skip default deprecation warning output; the Bot will display that.
|
|
14
|
-
Gem::Deprecate.skip_during do
|
|
15
|
-
desc 'version', 'Faker version'
|
|
16
|
-
def version
|
|
17
|
-
puts "v#{Faker::Bot::VERSION}"
|
|
18
|
-
end
|
|
19
|
-
map %w[--version -v] => :version
|
|
20
13
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
14
|
+
desc 'version', 'Faker version'
|
|
15
|
+
def version
|
|
16
|
+
puts "v#{Faker::Bot::VERSION}"
|
|
17
|
+
end
|
|
18
|
+
map %w[--version -v] => :version
|
|
19
|
+
|
|
20
|
+
desc 'list', 'List all Faker constants'
|
|
21
|
+
method_option :help, aliases: '-h', type: :boolean,
|
|
22
|
+
desc: 'Display usage information'
|
|
23
|
+
method_option :show_methods, aliases: '-m', type: :boolean, default: true,
|
|
24
|
+
desc: 'Display Faker constants with methods'
|
|
25
|
+
method_option :verbose, aliases: '-v', type: :boolean,
|
|
26
|
+
desc: 'Include sample Faker output'
|
|
27
|
+
def list(filter = nil)
|
|
28
|
+
if options[:help]
|
|
29
|
+
invoke :help, ['list']
|
|
30
|
+
else
|
|
31
|
+
filter_options = options.merge(filter: filter)
|
|
32
|
+
Faker::Bot::Commands::List.new(filter_options).execute
|
|
34
33
|
end
|
|
34
|
+
end
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
end
|
|
36
|
+
desc 'search [Faker]', 'Search Faker method(s)'
|
|
37
|
+
method_option :help, aliases: '-h', type: :boolean,
|
|
38
|
+
desc: 'Display usage information'
|
|
39
|
+
method_option :show_methods, aliases: '-m', type: :boolean, default: true,
|
|
40
|
+
desc: 'Display Faker constants with methods'
|
|
41
|
+
method_option :verbose, aliases: '-v', type: :boolean,
|
|
42
|
+
desc: 'Include sample Faker output'
|
|
43
|
+
def search(query)
|
|
44
|
+
if options[:help]
|
|
45
|
+
invoke :help, ['search']
|
|
46
|
+
else
|
|
47
|
+
Faker::Bot::Commands::Search.new(options).execute(query)
|
|
49
48
|
end
|
|
50
49
|
end
|
|
51
50
|
end
|
|
@@ -11,6 +11,19 @@ module Faker
|
|
|
11
11
|
result = Reflectors::List.call(options)
|
|
12
12
|
render(result, output)
|
|
13
13
|
end
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
def render(result, output)
|
|
18
|
+
return not_found(output) if result.empty?
|
|
19
|
+
|
|
20
|
+
super(result, output)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def not_found(output)
|
|
24
|
+
output.puts "\nSorry, that class doesn't exist 😢", "\n",
|
|
25
|
+
'Try something like `Faker::Beer` or `Beer`.', "\n"
|
|
26
|
+
end
|
|
14
27
|
end
|
|
15
28
|
end
|
|
16
29
|
end
|
data/lib/faker/bot/reflector.rb
CHANGED
|
@@ -11,6 +11,9 @@ module Faker
|
|
|
11
11
|
#
|
|
12
12
|
class Reflector
|
|
13
13
|
Faker::Base.class_eval do
|
|
14
|
+
# Skip default deprecation warning output; the CLI will display that.
|
|
15
|
+
Gem::Deprecate.skip = true
|
|
16
|
+
|
|
14
17
|
# Select `Faker` subclasses
|
|
15
18
|
# @return [Array] `Faker::Base` sub classes
|
|
16
19
|
def self.descendants
|
|
@@ -9,6 +9,7 @@ module Faker
|
|
|
9
9
|
# @api private
|
|
10
10
|
#
|
|
11
11
|
class List < Reflector
|
|
12
|
+
attr_reader :filter
|
|
12
13
|
attr_reader :show_methods
|
|
13
14
|
|
|
14
15
|
def self.call(options)
|
|
@@ -16,22 +17,35 @@ module Faker
|
|
|
16
17
|
end
|
|
17
18
|
|
|
18
19
|
def initialize(options = {})
|
|
20
|
+
@filter = options[:filter]
|
|
19
21
|
@show_methods = options[:show_methods]
|
|
20
22
|
|
|
21
23
|
super
|
|
22
24
|
end
|
|
23
25
|
|
|
24
26
|
def call
|
|
25
|
-
show_methods ?
|
|
27
|
+
show_methods ? list_descendants_with_methods : list_descendants
|
|
26
28
|
end
|
|
27
29
|
|
|
28
30
|
private
|
|
29
31
|
|
|
30
|
-
def
|
|
32
|
+
def list_descendants_with_methods
|
|
33
|
+
list_descendants
|
|
34
|
+
descendants_with_methods
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def list_descendants
|
|
31
38
|
faker_descendants.each do |descendant|
|
|
32
|
-
|
|
39
|
+
if filter_matches_class_name?(descendant.to_s)
|
|
40
|
+
store(descendant, descendant.my_singleton_methods)
|
|
41
|
+
end
|
|
33
42
|
end
|
|
34
|
-
descendants_with_methods
|
|
43
|
+
descendants_with_methods.keys
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def filter_matches_class_name?(class_name)
|
|
47
|
+
return true unless filter
|
|
48
|
+
class_name.match(/#{filter}/)
|
|
35
49
|
end
|
|
36
50
|
end
|
|
37
51
|
end
|
|
@@ -16,7 +16,7 @@ module Faker
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def initialize(query)
|
|
19
|
-
@query = query
|
|
19
|
+
@query = query.downcase
|
|
20
20
|
|
|
21
21
|
super
|
|
22
22
|
end
|
|
@@ -31,14 +31,20 @@ module Faker
|
|
|
31
31
|
def search_descendants_matching_query
|
|
32
32
|
faker_descendants.each do |descendant|
|
|
33
33
|
methods = descendant.my_singleton_methods
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
if query_matches_class_name?(descendant.to_s)
|
|
35
|
+
store(descendant, methods)
|
|
36
|
+
else
|
|
37
|
+
store(descendant, methods.select { |method| query_matches_method?(method.to_s) })
|
|
38
|
+
end
|
|
36
39
|
end
|
|
37
40
|
end
|
|
38
41
|
|
|
39
|
-
def
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
def query_matches_method?(method_name)
|
|
43
|
+
method_name.match(/#{query}/)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def query_matches_class_name?(class_name)
|
|
47
|
+
class_name.downcase.match(/#{query}/)
|
|
42
48
|
end
|
|
43
49
|
end
|
|
44
50
|
end
|
data/lib/faker/bot/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: faker-bot
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Austin Kabiru
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-07-
|
|
11
|
+
date: 2019-07-31 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faker
|
|
@@ -206,6 +206,7 @@ files:
|
|
|
206
206
|
- ".rubocop.yml"
|
|
207
207
|
- ".ruby-version"
|
|
208
208
|
- ".travis.yml"
|
|
209
|
+
- CHANGELOG.md
|
|
209
210
|
- CODE_OF_CONDUCT.md
|
|
210
211
|
- Gemfile
|
|
211
212
|
- Gemfile.lock
|
|
@@ -217,7 +218,6 @@ files:
|
|
|
217
218
|
- bin/faker
|
|
218
219
|
- bin/setup
|
|
219
220
|
- faker-bot.gemspec
|
|
220
|
-
- faker-cli-0.4.5.gem
|
|
221
221
|
- lib/faker-bot.rb
|
|
222
222
|
- lib/faker/bot.rb
|
|
223
223
|
- lib/faker/bot/command.rb
|
|
@@ -228,7 +228,6 @@ files:
|
|
|
228
228
|
- lib/faker/bot/reflectors/search.rb
|
|
229
229
|
- lib/faker/bot/renderer.rb
|
|
230
230
|
- lib/faker/bot/version.rb
|
|
231
|
-
- lib/faker/renderer.rb
|
|
232
231
|
homepage: https://github.com/faker-ruby/faker-bot
|
|
233
232
|
licenses:
|
|
234
233
|
- MIT
|
|
@@ -249,7 +248,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
249
248
|
version: '0'
|
|
250
249
|
requirements: []
|
|
251
250
|
rubyforge_project:
|
|
252
|
-
rubygems_version: 2.7.
|
|
251
|
+
rubygems_version: 2.7.6
|
|
253
252
|
signing_key:
|
|
254
253
|
specification_version: 4
|
|
255
254
|
summary: A stympy/faker lookup command line tool.
|
data/faker-cli-0.4.5.gem
DELETED
|
Binary file
|
data/lib/faker/renderer.rb
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'pastel'
|
|
4
|
-
require 'tty/pager'
|
|
5
|
-
require 'tty/screen'
|
|
6
|
-
require 'tty/tree'
|
|
7
|
-
|
|
8
|
-
module Faker::Bot
|
|
9
|
-
class Renderer
|
|
10
|
-
attr_reader :crayon, :hash, :options, :output, :pager
|
|
11
|
-
|
|
12
|
-
def self.call(*args)
|
|
13
|
-
new(*args).call
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def initialize(hash, options, output)
|
|
17
|
-
@hash = hash
|
|
18
|
-
@options = options
|
|
19
|
-
@output = output
|
|
20
|
-
@crayon = Pastel.new(enabled: output.tty?)
|
|
21
|
-
@pager = TTY::Pager.new(command: 'less -R')
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def call
|
|
25
|
-
if paginable?
|
|
26
|
-
pager.page(render)
|
|
27
|
-
else
|
|
28
|
-
output.puts(render)
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def render
|
|
33
|
-
tree.render
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def tree
|
|
37
|
-
@tree ||= TTY::Tree.new(build_tree)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def paginable?
|
|
41
|
-
gt_screen_height? && output.tty?
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def gt_screen_height?
|
|
45
|
-
tree.nodes.size > TTY::Screen.height
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
private
|
|
49
|
-
|
|
50
|
-
def build_tree
|
|
51
|
-
result = hash.reduce({}) do |h, (faker, methods)|
|
|
52
|
-
h.merge! node(faker, methods&.sort)
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
result.sort_by(&:to_s).to_h
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def node(const, methods)
|
|
59
|
-
{
|
|
60
|
-
crayon.green(const.to_s) => leaf(const, methods)
|
|
61
|
-
}
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
def leaf(const, methods)
|
|
65
|
-
(methods || []).map { |m| crayon.cyan(*leaf_args(m, const)) }
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
def leaf_args(method, const)
|
|
69
|
-
[method.to_s].tap { |arr| verbose_output(method, const, arr) if verbose? }
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
def verbose?
|
|
73
|
-
options[:verbose]
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
def verbose_output(method, const, arr)
|
|
77
|
-
fake, message = faker_method(method, const)
|
|
78
|
-
arr << crayon.dim.white("=> #{fake}") << crayon.dim.magenta.bold(message.to_s)
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
def faker_method(method, const)
|
|
82
|
-
[const.public_send(method), ensure_method_is_supported(method, const)]
|
|
83
|
-
rescue ArgumentError => _e
|
|
84
|
-
['N/A', '']
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
def ensure_method_is_supported(method, const)
|
|
88
|
-
const.respond_to?(:"_deprecated_#{method}") ? ' ( WILL BE DEPRECATED )' : ''
|
|
89
|
-
end
|
|
90
|
-
end
|
|
91
|
-
end
|