peeky 0.0.15 → 0.0.19
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/.github/workflows/ruby.yml +31 -0
- data/Gemfile +1 -1
- data/README-stories.md +55 -0
- data/README.md +11 -27
- data/lib/peeky/method_info.rb +2 -1
- data/lib/peeky/renderer/class_interface_render.rb +1 -1
- data/lib/peeky/version.rb +1 -1
- data/peeky.gemspec +3 -2
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17aca44d1863e4d7d811c2fdf09bbe4aec22c8aa5a2d0d09983a8d9c50f14430
|
4
|
+
data.tar.gz: ff605fe00998f4e7ca15725f20171180329edd882256c46eaa20c96d41491488
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e212ec6b8cb3e88e78e57f42d7a880aabf73e46cabd0b23e8d3ce93a0819a74d36f7dbf1d1af95f2677824aa885e277d003445c4d8bc656afd4e1245f8cd8d04
|
7
|
+
data.tar.gz: 3498282a3c71032ef6866783d06f642b7c834079d3cfae164d577a734ba5194c082b820b956bef116f7277fed19993f7833776e3fe97c1401d1485cf976e176c
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
2
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
3
|
+
|
4
|
+
name: Ruby
|
5
|
+
|
6
|
+
on:
|
7
|
+
push:
|
8
|
+
branches: [ master ]
|
9
|
+
pull_request:
|
10
|
+
branches: [ master ]
|
11
|
+
|
12
|
+
jobs:
|
13
|
+
test:
|
14
|
+
|
15
|
+
runs-on: ubuntu-latest
|
16
|
+
|
17
|
+
steps:
|
18
|
+
- uses: actions/checkout@v2
|
19
|
+
- name: Set up Ruby
|
20
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
21
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
22
|
+
# uses: ruby/setup-ruby@v1
|
23
|
+
uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
|
24
|
+
with:
|
25
|
+
ruby-version: 2.6
|
26
|
+
- name: Install dependencies
|
27
|
+
run: bundle install
|
28
|
+
- name: Run tests
|
29
|
+
run: bundle exec rspec
|
30
|
+
- name: Run rubocop
|
31
|
+
run: bundle exec rubocop
|
data/Gemfile
CHANGED
@@ -10,7 +10,7 @@ group :development, :test do
|
|
10
10
|
gem 'guard-rspec'
|
11
11
|
gem 'guard-rubocop'
|
12
12
|
# pry on steroids
|
13
|
-
gem 'pry-coolline', github: 'owst/pry-coolline', branch: 'support_new_pry_config_api'
|
13
|
+
# gem 'pry-coolline', github: 'owst/pry-coolline', branch: 'support_new_pry_config_api'
|
14
14
|
gem 'jazz_fingers'
|
15
15
|
gem 'rake', '~> 12.0'
|
16
16
|
# this is used for cmdlets 'self-executing gems'
|
data/README-stories.md
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
# Peeky
|
2
|
+
|
3
|
+
> Peeky is a Ruby GEM for peaking into ruby classes and extracting meta
|
4
|
+
|
5
|
+
As a Ruby Developer, I should be able to Reverse engineer classes and methods, so that I can document and understand them
|
6
|
+
|
7
|
+
## Stories
|
8
|
+
|
9
|
+
As a Developer, I can render a class with instance attributes and methods, So that I can quickly mock out an entire class
|
10
|
+
|
11
|
+
- Render: Class Interface
|
12
|
+
|
13
|
+
As a Developer, I can render method signature with debug code, So that mock out a method with parameter logging
|
14
|
+
|
15
|
+
- Render: Method signature with debug code
|
16
|
+
|
17
|
+
As a Developer, I can see the method signature of a method, So that I understand it's parameters
|
18
|
+
|
19
|
+
- Render: Method Signature in compact format
|
20
|
+
|
21
|
+
As a Developer, I can render method with minimal parameter calls, So that I know the minimum parameters when calling a method
|
22
|
+
|
23
|
+
- Render: Simple instance method calls with minimum parameters
|
24
|
+
|
25
|
+
As a Developer, I can tell if a method is attr_*, so that I can format methods using attr_* notation
|
26
|
+
|
27
|
+
- Attr Writer Predicate will match true if the method info could be considered a valid attr_writer
|
28
|
+
- Attr Writer Predicate will match true if the method info could be considered a valid attr_writer
|
29
|
+
|
30
|
+
As a Developer, I should be able to interrogate class instance information, so that I can reverse engineer a ruby class
|
31
|
+
|
32
|
+
- ParameterInfo model to store information about parameters on a method
|
33
|
+
- MethodInfo model to store signature of a ruby instance method
|
34
|
+
- AttrInfo is a container that represents attr_reader, attr_writer or attr_accessor by storying 1 or 2 MethodInfo
|
35
|
+
- ClassInfo stores information about a ruby class. Only support instance methods
|
36
|
+
|
37
|
+
|
38
|
+
## Tasks
|
39
|
+
|
40
|
+
|
41
|
+
Setup GitHub Action (test and lint)
|
42
|
+
|
43
|
+
- Setup Rspec action
|
44
|
+
- Setup RuboCop action
|
45
|
+
|
46
|
+
|
47
|
+
Setup new Ruby GEM
|
48
|
+
|
49
|
+
- Build out a standard GEM structure
|
50
|
+
- Add semantic versioning
|
51
|
+
- Add Rspec unit testing framework
|
52
|
+
- Add RuboCop linting
|
53
|
+
- Add Guard for automatic watch and test
|
54
|
+
- Add GitFlow support
|
55
|
+
- Add GitHub Repository
|
data/README.md
CHANGED
@@ -1,30 +1,3 @@
|
|
1
|
-
# ToDo
|
2
|
-
|
3
|
-
* Manually create each file using the template system
|
4
|
-
- Models
|
5
|
-
- [Done] ParameterInfo
|
6
|
-
- [Done] AttrInfo
|
7
|
-
- [Done] ClassInfo
|
8
|
-
- [Done] MethodInfo
|
9
|
-
- Create predicates
|
10
|
-
- [Done] attr_reader_predicate
|
11
|
-
- [Done] attr_writer_predicate
|
12
|
-
- Create renderers
|
13
|
-
- [Done] method_call_minimum_params_render
|
14
|
-
- [Done] method_signature_render
|
15
|
-
- [Done] method_signature_with_debug_render
|
16
|
-
- [Done] class_interface_render
|
17
|
-
- [Done] Recreate peeky
|
18
|
-
- [Done] Symlink KlueLess files
|
19
|
-
- [Done] Hot fix after each section
|
20
|
-
- [Done] Make sure the klueless files follow a natural structure
|
21
|
-
- [Done] Push peeky to Ruby Gems
|
22
|
-
- Build out the readme file
|
23
|
-
- Build out the stories
|
24
|
-
- Back compare templates vis definitions
|
25
|
-
- Auto create .template folder with copied definitions
|
26
|
-
|
27
|
-
|
28
1
|
# Peeky
|
29
2
|
|
30
3
|
> Peeky is a Ruby GEM for peaking into ruby classes and extracting meta
|
@@ -57,6 +30,17 @@ gem install peeky
|
|
57
30
|
|
58
31
|
## Stories
|
59
32
|
|
33
|
+
### Main Story
|
34
|
+
|
35
|
+
As a Ruby Developer, I should be able to Reverse engineer classes and methods, so that I can document and understand them
|
36
|
+
|
37
|
+
See all [stories](./README-stories.md)
|
38
|
+
|
39
|
+
### Featured Stories
|
40
|
+
|
41
|
+
- As a Developer, I should be able to interrogate class instance information, so that I can reverse engineer a ruby class
|
42
|
+
- As a Developer, I can render method with minimal parameter calls, So that I know the minimum parameters when calling a method
|
43
|
+
- As a Developer, I can render a class with instance attributes and methods, So that I can quickly mock out an entire class
|
60
44
|
|
61
45
|
## Usage
|
62
46
|
|
data/lib/peeky/method_info.rb
CHANGED
data/lib/peeky/version.rb
CHANGED
data/peeky.gemspec
CHANGED
@@ -12,10 +12,10 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.summary = 'Extracting meta data from ruby classes'
|
13
13
|
spec.description = <<-TEXT
|
14
14
|
Peeky is a Ruby GEM for peaking into ruby classes and extracting meta data.
|
15
|
-
You can use this meta data to recreate classes, interfaces, documentation etc.
|
15
|
+
You can use this meta data to recreate classes, interfaces, documentation etc.
|
16
16
|
or use it just to understand the internals of a class.
|
17
17
|
TEXT
|
18
|
-
|
18
|
+
|
19
19
|
spec.homepage = 'http://appydave.com/gems/peeky'
|
20
20
|
spec.license = 'MIT'
|
21
21
|
|
@@ -39,6 +39,7 @@ Gem::Specification.new do |spec|
|
|
39
39
|
spec.bindir = 'exe'
|
40
40
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
41
41
|
spec.require_paths = ['lib']
|
42
|
+
# spec.extensions = ['ext/peeky/extconf.rb']
|
42
43
|
|
43
44
|
# spec.add_dependency 'tty-box', '~> 0.5.0'
|
44
45
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: peeky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David C
|
@@ -10,15 +10,17 @@ bindir: exe
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2020-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description:
|
14
|
-
|
15
|
-
|
13
|
+
description: |2
|
14
|
+
Peeky is a Ruby GEM for peaking into ruby classes and extracting meta data.
|
15
|
+
You can use this meta data to recreate classes, interfaces, documentation etc.
|
16
|
+
or use it just to understand the internals of a class.
|
16
17
|
email:
|
17
18
|
- david@ideasmen.com.au
|
18
19
|
executables: []
|
19
20
|
extensions: []
|
20
21
|
extra_rdoc_files: []
|
21
22
|
files:
|
23
|
+
- ".github/workflows/ruby.yml"
|
22
24
|
- ".gitignore"
|
23
25
|
- ".rspec"
|
24
26
|
- ".rubocop.yml"
|
@@ -27,6 +29,7 @@ files:
|
|
27
29
|
- Gemfile
|
28
30
|
- Guardfile
|
29
31
|
- LICENSE.txt
|
32
|
+
- README-stories.md
|
30
33
|
- README.md
|
31
34
|
- Rakefile
|
32
35
|
- bin/console
|