Class: String
- Inherits:
-
Object
show all
- Defined in:
- lib/extensions/string.rb
Overview
String
GMoney String Extensions
Defined Under Namespace
Classes: ParseError, PortfolioParseError, PositionParseError, TransactionParseError
Constant Summary
collapse
- @@portfolio_re =
/\d+/
- @@portfolio_re_in =
/^\d+$/
- @@position_re =
/\d+\/[a-zA-Z]+:[a-zA-Z]+/
- @@position_re_in =
/^\d+\/[a-zA-Z]+:[a-zA-Z]+$/
- @@transaction_re =
/\d+\/[a-zA-Z]+:[a-zA-Z]+\/\d+/
- @@transaction_re_in =
/^\d+\/[a-zA-Z]+:[a-zA-Z]+\/\d+$/
Instance Method Summary
collapse
Instance Method Details
#blank? ⇒ Boolean
83
84
85
|
# File 'lib/extensions/string.rb', line 83
def blank?
respond_to?(:empty?) ? self.strip.empty? : !self
end
|
#camel_to_us ⇒ Object
27
28
29
30
|
# File 'lib/extensions/string.rb', line 27
def camel_to_us
add_us = gsub(/(.)([A-Z][a-z]+)/, '\1_\2')
add_us.gsub(/([a-z0-9])([A-Z])/, '\1_\2').downcase
end
|
#is_numeric? ⇒ Boolean
32
33
34
|
# File 'lib/extensions/string.rb', line 32
def is_numeric?
Float self rescue false
end
|
#portfolio_feed_id ⇒ Object
36
37
38
|
# File 'lib/extensions/string.rb', line 36
def portfolio_feed_id
self[self.rindex('/')+1..-1]
end
|
#portfolio_id ⇒ Object
53
54
55
56
57
58
59
|
# File 'lib/extensions/string.rb', line 53
def portfolio_id
if self[@@transaction_re_in] || self[@@position_re_in] || self[@@portfolio_re_in]
self[@@portfolio_re]
else
raise PortfolioParseError
end
end
|
#position_feed_id ⇒ Object
40
41
42
43
44
|
# File 'lib/extensions/string.rb', line 40
def position_feed_id
portfolio = finance_feed_id_helper('portfolios', 11)
position = self[rindex('/')+1..-1]
"#{portfolio}/#{position}"
end
|
#position_id ⇒ Object
61
62
63
64
65
66
67
68
69
70
71
|
# File 'lib/extensions/string.rb', line 61
def position_id
if self[@@portfolio_re_in]
""
elsif self[@@position_re_in]
self[self.index('/')+1..-1]
elsif self[@@transaction_re_in]
self[self.index('/')+1..self.rindex('/')-1]
else
raise PositionParseError
end
end
|
#transaction_feed_id ⇒ Object
46
47
48
49
50
51
|
# File 'lib/extensions/string.rb', line 46
def transaction_feed_id
portfolio = finance_feed_id_helper('portfolios', 11)
position = finance_feed_id_helper('positions', 10)
transaction = self[rindex('/')+1..-1]
"#{portfolio}/#{position}/#{transaction}"
end
|
#transaction_id ⇒ Object
73
74
75
76
77
78
79
80
81
|
# File 'lib/extensions/string.rb', line 73
def transaction_id
if self[@@position_re_in]
""
elsif self[@@transaction_re_in]
self[self.rindex('/')+1..-1]
else
raise TransactionParseError
end
end
|