letters 0.2.0 → 0.2.1
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.
- data/README.md +22 -20
- data/lib/letters/patch/object.rb +0 -1
- data/lib/letters/patch/rails.rb +9 -0
- data/lib/letters/version.rb +1 -1
- metadata +16 -15
data/README.md
CHANGED
|
@@ -8,7 +8,6 @@ For many of us, troubleshooting begins and ends with the `print` statement. Othe
|
|
|
8
8
|
|
|
9
9
|
If you're using RubyGems, install Letters with:
|
|
10
10
|
|
|
11
|
-
#!plain
|
|
12
11
|
gem install letters
|
|
13
12
|
|
|
14
13
|
By default, requiring `"letters"` monkey-patches `Object`. It goes without saying that if you're using Letters in an app that has environments, you probably only want to use it in development.
|
|
@@ -19,30 +18,33 @@ With Letters installed, you have a suite of methods available wherever you want
|
|
|
19
18
|
|
|
20
19
|
Let's start with the `p` method as an example. It is one of the most familiar methods. Calling it prints the receiver to STDOUT and returns the receiver:
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
```ruby
|
|
22
|
+
{ foo: "bar" }.p
|
|
23
|
+
# => { foo: "bar" }
|
|
24
|
+
# prints { foo: "bar" }
|
|
25
|
+
```
|
|
26
26
|
|
|
27
27
|
That's simple enough, but not really useful. Things get interesting when you're in a pipeline:
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
```ruby
|
|
30
|
+
words.grep(/interesting/).
|
|
31
|
+
map(&:downcase).
|
|
32
|
+
group_by(&:length).
|
|
33
|
+
values_at(5, 10)
|
|
34
|
+
slice(0..2).
|
|
35
|
+
join(", ")
|
|
36
|
+
```
|
|
37
|
+
|
|
37
38
|
If I want to know the state of your code after lines 3 and 5, all I have to do is add `.p` to each one:
|
|
38
39
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
```ruby
|
|
41
|
+
words.grep(/interesting/).
|
|
42
|
+
map(&:downcase).
|
|
43
|
+
group_by(&:length).p.
|
|
44
|
+
values_at(5, 10)
|
|
45
|
+
slice(0..2).p.
|
|
46
|
+
join(", ")
|
|
47
|
+
```
|
|
46
48
|
|
|
47
49
|
Because the `p` method (and nearly every Letters method) returns the original object, introducing it is only ever for side effects -- it won't change the output of your code.
|
|
48
50
|
|
data/lib/letters/patch/object.rb
CHANGED
data/lib/letters/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: letters
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -13,7 +13,7 @@ date: 2012-09-30 00:00:00.000000000Z
|
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: awesome_print
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &70153762674060 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: '0'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *70153762674060
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: activesupport
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &70153762673620 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: '0'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *70153762673620
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: xml-simple
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &70153762673200 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ! '>='
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: '0'
|
|
44
44
|
type: :runtime
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *70153762673200
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: colorize
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &70153762672780 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ! '>='
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: '0'
|
|
55
55
|
type: :runtime
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *70153762672780
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: debugger
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &70153762672360 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ! '>='
|
|
@@ -65,10 +65,10 @@ dependencies:
|
|
|
65
65
|
version: '0'
|
|
66
66
|
type: :runtime
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *70153762672360
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: timecop
|
|
71
|
-
requirement: &
|
|
71
|
+
requirement: &70153762671940 !ruby/object:Gem::Requirement
|
|
72
72
|
none: false
|
|
73
73
|
requirements:
|
|
74
74
|
- - ! '>='
|
|
@@ -76,10 +76,10 @@ dependencies:
|
|
|
76
76
|
version: '0'
|
|
77
77
|
type: :development
|
|
78
78
|
prerelease: false
|
|
79
|
-
version_requirements: *
|
|
79
|
+
version_requirements: *70153762671940
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
81
|
name: rspec
|
|
82
|
-
requirement: &
|
|
82
|
+
requirement: &70153762671520 !ruby/object:Gem::Requirement
|
|
83
83
|
none: false
|
|
84
84
|
requirements:
|
|
85
85
|
- - ! '>='
|
|
@@ -87,7 +87,7 @@ dependencies:
|
|
|
87
87
|
version: '0'
|
|
88
88
|
type: :development
|
|
89
89
|
prerelease: false
|
|
90
|
-
version_requirements: *
|
|
90
|
+
version_requirements: *70153762671520
|
|
91
91
|
description: Letters brings Ruby debugging into the 21st century. It leverages print,
|
|
92
92
|
the debugger, control transfer, even computer beeps to let you see into your code's
|
|
93
93
|
state.
|
|
@@ -103,6 +103,7 @@ files:
|
|
|
103
103
|
- lib/letters/nil_error.rb
|
|
104
104
|
- lib/letters/patch/core.rb
|
|
105
105
|
- lib/letters/patch/object.rb
|
|
106
|
+
- lib/letters/patch/rails.rb
|
|
106
107
|
- lib/letters/patch.rb
|
|
107
108
|
- lib/letters/time_formats.rb
|
|
108
109
|
- lib/letters/version.rb
|