scryglass 0.1.0 → 1.0.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/.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: []
|