Module: Cardio::Pry
- Includes:
- Commands, Rails::ConsoleMethods
- Defined in:
- lib/cardio/pry.rb,
lib/cardio/pry/commands.rb
Overview
These commands are available in the console when using binding.pry for breakpoints.
Defined Under Namespace
Modules: Commands
Instance Method Summary
collapse
Methods included from Commands
alias_command, block_command
Instance Method Details
#_a ⇒ Object
99
100
101
|
# File 'lib/cardio/pry.rb', line 99
def _a
@_array ||= (1..6).to_a
end
|
#_h ⇒ Object
103
104
105
|
# File 'lib/cardio/pry.rb', line 103
def _h
@_hash ||= { hello: "world", free: "of charge" }
end
|
#_u ⇒ Object
107
108
109
|
# File 'lib/cardio/pry.rb', line 107
def _u
@_user ||= Card.fetch "Joe User"
end
|
#ab ⇒ Object
56
57
58
|
# File 'lib/cardio/pry.rb', line 56
def ab
Card::Auth.as_bot
end
|
#cr(name = nil, content = "some content", type = "basic") ⇒ Object
48
49
50
51
52
53
54
|
# File 'lib/cardio/pry.rb', line 48
def cr name=nil, content="some content", type="basic"
if name
@cr = create name, content, type
else
@cr ||= create
end
end
|
#create(name = "test card", content = "some content", type = "basic") ⇒ Object
11
12
13
14
15
16
17
18
19
|
# File 'lib/cardio/pry.rb', line 11
def create name="test card", content="some content", type="basic"
if name.is_a? Hash
Card.create! name
elsif content.is_a? Hash
Card.create! content.merge(name: name)
else
Card.create! name: name, content: content, type: type
end
end
|
#fe(name = nil) ⇒ Object
Shortcut for fetching cards. You can continue to work with the last fetched card by calling ‘fe` without arguments. If the first call of `fe` is without argument, fe points to the card “Home” Example:
fe.name fe "Basic"
fe.name fe.type
40
41
42
43
44
45
46
|
# File 'lib/cardio/pry.rb', line 40
def fe name=nil
if name
@fe = Card.fetch name
else
@fe ||= Card.fetch "home"
end
end
|
#hputs(text) ⇒ Object
93
94
95
96
97
|
# File 'lib/cardio/pry.rb', line 93
def hputs text
text = Nokogiri::XML(text, &:noblanks).root.to_s
print CodeRay.scan(text, :html).term
print "\n"
end
|
#htmlish?(text) ⇒ Boolean
69
70
71
|
# File 'lib/cardio/pry.rb', line 69
def htmlish? text
text.is_a?(String) && (text.match?(%r{</\w+>}) || text.include?("\e"))
end
|
#puts(*args) ⇒ Object
use syntax highlighting if html is detected
61
62
63
64
65
66
67
|
# File 'lib/cardio/pry.rb', line 61
def puts *args
text = args.first
return super unless args.size == 1 && htmlish?(text)
html = Nokogiri::XML text, &:noblanks
puts_html(html, text) { |*super_args| super(*super_args) }
end
|
#puts_highlighted_html(html) {|CodeRay.scan(html.root.to_s, :html).term| ... } ⇒ Object
88
89
90
91
|
# File 'lib/cardio/pry.rb', line 88
def puts_highlighted_html html
yield CodeRay.scan(html.root.to_s, :html).term
end
|
#puts_html(html, text, &block) ⇒ Object
73
74
75
76
77
78
79
|
# File 'lib/cardio/pry.rb', line 73
def puts_html html, text, &block
if html.errors.present?
puts_html_errors html, text, &block
else
puts_highlighted_html html, &block
end
end
|
#puts_html_errors(html, text) {|text| ... } ⇒ Object
81
82
83
84
85
86
|
# File 'lib/cardio/pry.rb', line 81
def puts_html_errors html, text
yield text
puts
yield "WARNING: detected invalid html".red
yield html.errors
end
|
#update(name = "test card", *args) ⇒ Object
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/cardio/pry.rb', line 21
def update name="test card", *args
card_attr = {}
if args.first.is_a? String
card_attr[:content] = args.shift
card_attr.merge!(args.first)
else
card_attr = args.first
end
Card.fetch(name).update_attributes card_attr
end
|