fancy-p 0.1.0 → 0.2.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +45 -2
  3. data/lib/fancy-p/kernel_ext.rb +17 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c126e5b53e5835c9bcf72410a0ef7cf48665bbd5b849cac018aeb590c3af7303
4
- data.tar.gz: 5875b9ae2d8ada99f4aca2b000920fec11acce6b37c36ab1c27a6f01169dbc81
3
+ metadata.gz: 107472a1d3ade61bdb4068582e08aee4b23c002eea353a34767af536cd0f21c1
4
+ data.tar.gz: f42accf1a9f6cb0aa6f5c3997a9816ce273ee36adfd2dc3f395f7b79155c305f
5
5
  SHA512:
6
- metadata.gz: c4dbf91a334b92b5a1dfc1d6c33467c0ebba0705b942b7e59aa70f7e9501a0537c4a188567c6767100536f071c2d59215cdab517600fb3f826e20309a7af655c
7
- data.tar.gz: 3f123975c87922f614202ac3e749763490997a0ef52864b4bf50e7a95e5afe75cf82c4ad4f2160fa1ae83c2e520aea1ea7b1d367e09d0eb06c5689e9ac924fd1
6
+ metadata.gz: e60ec3eb24e1ebca75111c239d3dada43eaa0f059118e4821eff34d7487543e083db9bca5be5d12eefda699784e9f2de124a632cf4e1cb6722745efcce2d6e75
7
+ data.tar.gz: 5f740f42b4dc6e0a948503cd1f47e8e59521995e79d16c28044a0c5e5bcb173004e372652694a8cf9aeed834bf24b40377595b89efc9189faf839549bd2bdaab
data/README.md CHANGED
@@ -2,9 +2,18 @@
2
2
 
3
3
  `fancy-p` is a Ruby gem that extends the Kernel module to dynamically define
4
4
  print methods with different characters. It allows you to create methods like
5
- `p!`, `p@`, `p$`, etc., which print a specified character 100 times before and
6
- after printing the provided arguments.
5
+ `p!`, `p1`, `p2`, etc., which print a specified character 100 times before and after.
7
6
 
7
+ This exists simply because I found myself writing `p '!' * 100` too often. I
8
+ followed a similar pattern for `p 1 * 100`, `p2 * 100`, etc.
9
+
10
+ For unpermitted characters, you can use the `fp` method, which takes a string
11
+ of any length and prints it with a specified special character or str.
12
+
13
+ You can also create your own print methods `pf_factory` method.
14
+
15
+
16
+ ```ruby
8
17
  ## Installation
9
18
 
10
19
  Add this line to your application's Gemfile:
@@ -12,3 +21,37 @@ Add this line to your application's Gemfile:
12
21
  ```ruby
13
22
  gem 'fancy-p'
14
23
  ```
24
+
25
+ ## Usage
26
+
27
+ ```ruby
28
+ require 'fancy-p'
29
+
30
+ p! 'Hello, world!'
31
+ # => "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
32
+ # => "Hello, world!"
33
+ # => "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
34
+
35
+ p1 'Hello, world!'
36
+ # => "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
37
+ # => "Hello, world!"
38
+ # => "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111!!"
39
+
40
+ fp "@", "Hello, world!"
41
+ # => "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
42
+ # => "Hello, world!"
43
+ # => "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
44
+
45
+ print_wat = pf_factory "WAT ", length: 10
46
+
47
+ print_wat['Hello, world!']
48
+ # => "WAT WAT WAT WAT WAT WAT WAT WAT WAT WAT"
49
+ # => "Hello, world!"
50
+ # => "WAT WAT WAT WAT WAT WAT WAT WAT WAT WAT"
51
+
52
+ print_wat['Some other string']
53
+
54
+ # => "WAT WAT WAT WAT WAT WAT WAT WAT WAT WAT"
55
+ # => "Some other string"
56
+ # => "WAT WAT WAT WAT WAT WAT WAT WAT WAT WAT"
57
+ ```
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Kernel
4
- def method_missing(method_name, *args, &block)
4
+ def method_missing(method_name, *args, &)
5
5
  super unless method_name.to_s =~ /^p.$/
6
6
 
7
7
  char = method_name.to_s[1]
@@ -13,4 +13,20 @@ module Kernel
13
13
  end
14
14
  send(method_name, *args)
15
15
  end
16
+
17
+ def fp(str, *args, length: 100)
18
+ delimiter = str[0] * length
19
+ p delimiter
20
+ p(*args)
21
+ p delimiter
22
+ end
23
+
24
+ def pf_factory(char, length: 100)
25
+ lambda { |*args|
26
+ delimiter = char * length
27
+ p delimiter
28
+ p(*args)
29
+ p delimiter
30
+ }
31
+ end
16
32
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fancy-p
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Rhodes
@@ -43,7 +43,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
43
43
  - !ruby/object:Gem::Version
44
44
  version: '0'
45
45
  requirements: []
46
- rubygems_version: 3.4.19
46
+ rubygems_version: 3.5.13
47
47
  signing_key:
48
48
  specification_version: 4
49
49
  summary: A gem that dynamically defines fancy print methods with different characters