peeky 0.0.15 → 0.0.19
Sign up to get free protection for your applications and to get access to all the features.
- 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
|