scryglass 0.1.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.tool-versions +1 -1
- data/CHANGELOG.md +26 -0
- data/Gemfile +0 -2
- data/Gemfile.lock +3 -1
- data/README.md +21 -1
- data/lib/example_material.rb +1 -1
- data/lib/scryglass.rb +0 -1
- data/lib/scryglass/version.rb +1 -1
- data/scryglass.gemspec +5 -2
- metadata +24 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e64cacb2e1c0e588ffa8554c9203f73a5aa11f565454f0e7e190328b18acaaa8
|
4
|
+
data.tar.gz: 4435413405197c4dbf03a80bff4632b29cf09d44b0f53de45894ea426c858091
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d9081ae5876b542f6c17e792f7a02b12f832a128644e3334c0c6b819dc076fb1a8e60f77e9c02e65032e67e2be52fae38f7ba8b0d38fdfced2bac95469b4ff0
|
7
|
+
data.tar.gz: adbc658b799af3c4167d132de38d3225db3efaba3e95b39251352b0b8360169419db654605fd88314ccbfce80ce3a78d9cb87c02ff55559ce42a483d086848cf
|
data/.tool-versions
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby 2.
|
1
|
+
ruby 2.5.3
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
All notable changes to this project will be documented in this file.
|
4
|
+
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
|
+
|
8
|
+
## [Unreleased]
|
9
|
+
|
10
|
+
## [1.0.0] - 2020-09-18
|
11
|
+
|
12
|
+
### Added
|
13
|
+
|
14
|
+
- add_development_dependency 'io-console'
|
15
|
+
- Added table of contents to README
|
16
|
+
|
17
|
+
### Changed
|
18
|
+
|
19
|
+
- Bumped required_ruby_version from '>= 2.4.4' to '>= 2.5.3'
|
20
|
+
- Bumped rake version from '~> 10.0' to '~> 12.0'
|
21
|
+
|
22
|
+
## [0.1.0] - 2020-09-17
|
23
|
+
|
24
|
+
### Added
|
25
|
+
|
26
|
+
- The First Commit!
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
scryglass (
|
4
|
+
scryglass (1.0.0)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -14,6 +14,7 @@ GEM
|
|
14
14
|
concurrent-ruby (1.1.7)
|
15
15
|
i18n (1.8.5)
|
16
16
|
concurrent-ruby (~> 1.0)
|
17
|
+
io-console (0.5.6)
|
17
18
|
minitest (5.14.2)
|
18
19
|
rake (12.3.3)
|
19
20
|
thread_safe (0.3.6)
|
@@ -26,6 +27,7 @@ PLATFORMS
|
|
26
27
|
DEPENDENCIES
|
27
28
|
activesupport (~> 5.0)
|
28
29
|
bundler (~> 2.1)
|
30
|
+
io-console
|
29
31
|
rake (~> 12.0)
|
30
32
|
scryglass!
|
31
33
|
|
data/README.md
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
# Table of Contents
|
2
|
+
|
3
|
+
[🔮 Scryglass Intro Summary](#-scryglass)
|
4
|
+
- [⚡️ tl;dr SUPER Quick Start](#%EF%B8%8F-tldr-super-quick-start)
|
5
|
+
- [Installing Scryglass](#installing-scryglass)
|
6
|
+
- [Enabling Scryglass](#enabling-scryglass)
|
7
|
+
- [Launching a Scry Session](#launching-a-scry-session)
|
8
|
+
- [Basic Usage](#basic-usage)
|
9
|
+
- [Reading the UI](#reading-the-ui)
|
10
|
+
- [Tree View (default) Row Sample Strings](#tree-view-default-row-sample-strings)
|
11
|
+
- [Known Enumerables](#known-enumerables)
|
12
|
+
- [The Cursor, and Unknown Enumerables](#the-cursor-and-unknown-enumerables)
|
13
|
+
- [Waiting!](#waiting)
|
14
|
+
- [In-Depth Control Rundown](#in-depth-control-rundown)
|
15
|
+
- [Configuration / Customization (all optional)](#configuration--customization-all-optional)
|
16
|
+
- [A Note on Adding Your Own Lenses](#a-note-on-adding-your-own-lenses)
|
17
|
+
- [Controlling How Some Objects Are Displayed in Tree View / Using Scryglass as the UI for Another Tool](#controlling-how-some-objects-are-displayed-in-tree-view--using-scryglass-as-the-ui-for-another-tool)
|
18
|
+
- [Miscellaneous Troubleshooting Notes](#miscellaneous-troubleshooting-notes)
|
19
|
+
- [Contributing](#contributing)
|
20
|
+
|
1
21
|
# 🔮 Scryglass
|
2
22
|
|
3
23
|
Scryglass is a ruby console tool for visualizing and actively exploring objects (large, nested, interrelated, or unfamiliar). You can navigate nested arrays, hashes, instance variables, ActiveRecord
|
@@ -205,7 +225,7 @@ Here are some explanations of some less obvious configurations:
|
|
205
225
|
|
206
226
|
For properly capturing out*put* methods of various kinds, and for the ability to truncate strings of cosmic scale before they've been *entirely* printed to the invisible IO (can be minutes and trillions of characters), we highly recommend using the `Hexes.capture_io` method with the `char_limit:` keyword argument as seen in the template config file (and Scryglass code). `capture_io` captures console output as a string; `char_limit:` will run the capture in a separate thread which can be truncated before it finishes printing.
|
207
227
|
|
208
|
-
|
228
|
+
### Controlling how some objects are displayed in tree view / Using Scryglass as the UI for another tool
|
209
229
|
|
210
230
|
Scryglass originally started as a small subtool to be used as the UI for another console project, which, in short, would output a large branching hash which was then to be navigated. To have more control over the tree panel display, you can wrap objects in a Scryglass::ViewWrapper. For example, by default, this array item: `[unsightly_object]` will appear in the tree view in its `inspect`ed form, "#<UnsightlyObject:0x00007f9ac8224e78>". But say you want it to show it's best face to the user, using the sightly return of it's `best_face` method. You can instead hand scryglass the following item:
|
211
231
|
```ruby
|
data/lib/example_material.rb
CHANGED
@@ -35,7 +35,7 @@ module Scryglass
|
|
35
35
|
"A lambda" => ->(o) { puts o.inspect.upcase.reverse },
|
36
36
|
"\n\n\n" => "If you want to know what that lambda does, move your cursor to it, press ENTER, and it will be returned to your console for you to play with!",
|
37
37
|
'Allll the coolest stuff' => [
|
38
|
-
Scryglass::ViewWrapper.new('
|
38
|
+
Scryglass::ViewWrapper.new('https://github.com/annkissam/scryglass', string: '...Is really in the help screens (`?`) and the README. Press spacebar for README link in lens view'),
|
39
39
|
],
|
40
40
|
:delicious_data => {
|
41
41
|
:whoa_now => ([1]*800).map { rand(2) }.insert($stdout.winsize.first, 'Press zero to reset view position, then again to reset cursor there!'),
|
data/lib/scryglass.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
3
|
## Bookkeeping and external tools:
|
5
4
|
require "scryglass/version"
|
6
5
|
require 'active_support/core_ext/object/blank' # This gives us `.present?` and `.blank?` # https://stackoverflow.com/questions/4648684/how-to-use-present-in-ruby-projects
|
data/lib/scryglass/version.rb
CHANGED
data/scryglass.gemspec
CHANGED
@@ -8,6 +8,7 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Scryglass::VERSION
|
9
9
|
spec.authors = ["Gavin Myers"]
|
10
10
|
spec.email = ["gavin.myers@annkissam.com"]
|
11
|
+
spec.licenses = ['MIT']
|
11
12
|
|
12
13
|
spec.summary = 'Scryglass is a ruby console tool for visualizing ' \
|
13
14
|
'and actively exploring objects.'
|
@@ -38,9 +39,11 @@ Gem::Specification.new do |spec|
|
|
38
39
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
39
40
|
spec.require_paths = ["lib"]
|
40
41
|
|
41
|
-
spec.required_ruby_version = '>= 2.
|
42
|
+
spec.required_ruby_version = '>= 2.5.3'
|
42
43
|
|
43
44
|
spec.add_development_dependency 'activesupport', '~> 5.0'
|
45
|
+
spec.add_development_dependency 'io-console'
|
44
46
|
spec.add_development_dependency 'bundler', '~> 2.1'
|
45
|
-
spec.add_development_dependency 'rake', '~>
|
47
|
+
spec.add_development_dependency 'rake', '~> 12.0'
|
48
|
+
|
46
49
|
end
|
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scryglass
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Myers
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
11
|
date: 2020-09-18 00:00:00.000000000 Z
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '5.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: io-console
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +58,14 @@ dependencies:
|
|
44
58
|
requirements:
|
45
59
|
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
61
|
+
version: '12.0'
|
48
62
|
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
66
|
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
68
|
+
version: '12.0'
|
55
69
|
description: |-
|
56
70
|
Scryglass is a ruby console tool for visualizing and actively exploring objects (large, nested, interrelated, or unfamiliar). You can navigate nested arrays, hashes, instance variables, ActiveRecord relations, and unknown Enumerable types like anexpandable/collapsable file tree in an intuitive UI.
|
57
71
|
|
@@ -64,6 +78,7 @@ extra_rdoc_files: []
|
|
64
78
|
files:
|
65
79
|
- ".gitignore"
|
66
80
|
- ".tool-versions"
|
81
|
+
- CHANGELOG.md
|
67
82
|
- Gemfile
|
68
83
|
- Gemfile.lock
|
69
84
|
- LICENSE.txt
|
@@ -92,10 +107,11 @@ files:
|
|
92
107
|
- lib/scryglass/view_wrapper.rb
|
93
108
|
- scryglass.gemspec
|
94
109
|
homepage: https://github.com/annkissam/scryglass
|
95
|
-
licenses:
|
110
|
+
licenses:
|
111
|
+
- MIT
|
96
112
|
metadata:
|
97
113
|
allowed_push_host: https://rubygems.org/
|
98
|
-
post_install_message:
|
114
|
+
post_install_message:
|
99
115
|
rdoc_options: []
|
100
116
|
require_paths:
|
101
117
|
- lib
|
@@ -103,7 +119,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
103
119
|
requirements:
|
104
120
|
- - ">="
|
105
121
|
- !ruby/object:Gem::Version
|
106
|
-
version: 2.
|
122
|
+
version: 2.5.3
|
107
123
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
124
|
requirements:
|
109
125
|
- - ">="
|
@@ -111,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
111
127
|
version: '0'
|
112
128
|
requirements: []
|
113
129
|
rubygems_version: 3.1.4
|
114
|
-
signing_key:
|
130
|
+
signing_key:
|
115
131
|
specification_version: 4
|
116
132
|
summary: Scryglass is a ruby console tool for visualizing and actively exploring objects.
|
117
133
|
test_files: []
|