Class: String
- Inherits:
-
Object
show all
- Defined in:
- lib/extensions/string.rb
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
#camel_to_us ⇒ Object
15
16
17
18
|
# File 'lib/extensions/string.rb', line 15
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
20
21
22
|
# File 'lib/extensions/string.rb', line 20
def is_numeric?
Float self rescue false
end
|
#portfolio_feed_id ⇒ Object
24
25
26
|
# File 'lib/extensions/string.rb', line 24
def portfolio_feed_id
self[self.rindex('/')+1..-1]
end
|
#portfolio_id ⇒ Object
41
42
43
44
45
46
47
|
# File 'lib/extensions/string.rb', line 41
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
28
29
30
31
32
|
# File 'lib/extensions/string.rb', line 28
def position_feed_id
portfolio = self[self.rindex('portfolios/')+11..index('/positions')-1]
position = self[rindex('/')+1..-1]
"#{portfolio}/#{position}"
end
|
#position_id ⇒ Object
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/extensions/string.rb', line 49
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
34
35
36
37
38
39
|
# File 'lib/extensions/string.rb', line 34
def transaction_feed_id
portfolio = self[self.rindex('portfolios/')+11..index('/positions')-1]
position = self[self.rindex('positions/')+10..index('/transactions')-1]
transaction = self[rindex('/')+1..-1]
"#{portfolio}/#{position}/#{transaction}"
end
|
#transaction_id ⇒ Object
61
62
63
64
65
66
67
68
69
|
# File 'lib/extensions/string.rb', line 61
def transaction_id
if self[@@position_re_in]
""
elsif self[@@transaction_re_in]
self[self.rindex('/')+1..-1]
else
raise TransactionParseError
end
end
|