hiro_format 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -0
- data/formatting_samples.rb +5 -1
- data/lib/hiro_format/formatting.rb +37 -2
- data/lib/hiro_format/version.rb +1 -1
- metadata +1 -2
- data/hiro_format-0.0.1.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ff2b0d324bdb47219ab870ce7e5f2cdb1e3f29d
|
4
|
+
data.tar.gz: c0a9629151e1091c587e4ac3f0fbb021d75431ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 648fade5b38f62a3a469dbe5b88cf4ead5c185d1137318b76c306ba516cd8f0ab3ce671d02f56943fafff148909ecb043597d76388c1d01cabc489c7beb38775
|
7
|
+
data.tar.gz: a06d3941839965b8baf697cc5b09493b6df42595a5c0de876800d1e49613b6113521221270fa78635fe098668b9bd45b2dbdadeb5b599d98df4bc1be3f76645d
|
data/README.md
CHANGED
@@ -5,7 +5,11 @@ HiroFormat (hiro_format) is a text formatter.
|
|
5
5
|
It converts ruby variables into formatted text by predefined recipe.
|
6
6
|
It also supports ANSI color display for console applications, and html class handling to have colorful texts.
|
7
7
|
|
8
|
+
## Still Buggy
|
8
9
|
|
10
|
+
Sorry, it is still in very early stage of development. If you use this, please update the gem frequently.
|
11
|
+
|
12
|
+
Bug reports are welcome.
|
9
13
|
|
10
14
|
## Installation
|
11
15
|
|
@@ -31,6 +35,7 @@ require 'hiro_format'
|
|
31
35
|
puts "This is a text string".color(:red_marker).to_s
|
32
36
|
value = 123456.78
|
33
37
|
puts value.formatting(:commify).color(:blue).to_s # 123,456.78 (Blue color)
|
38
|
+
puts value.formatting(:euro_commify).color(:red).to_s # 123.456,78 (Red color)
|
34
39
|
puts Formatting.new(Date.today, :jp_date).color(:magenta_marker).to_s # 2017-12-24
|
35
40
|
puts Date.today.formatting(:euro_date).color(:reverse).to_s # 24-12-2017
|
36
41
|
puts Formatting.new(Date.today, :us_date).color("magenta").to_span # <span class="magenta">12-24-2017</span>
|
data/formatting_samples.rb
CHANGED
@@ -13,15 +13,19 @@ APP_ROOT = File.dirname(__FILE__)
|
|
13
13
|
$LOAD_PATH << "#{APP_ROOT}/lib"
|
14
14
|
require "hiro_format/formatting"
|
15
15
|
require "hiro_format/coloring"
|
16
|
-
#require "pry" # gem install pry pry-byebug
|
16
|
+
# require "pry" # gem install pry pry-byebug
|
17
17
|
|
18
18
|
value = 123456.78
|
19
|
+
print ":commify #{value.class}: "
|
19
20
|
puts value.formatting(:commify).color(:blue).to_s
|
21
|
+
print ":euro_commify #{value.class}: "
|
22
|
+
puts value.formatting(:euro_commify).color(:red).to_s
|
20
23
|
puts Formatting.new(Date.today, :us_date).color(:magenta_marker).to_s
|
21
24
|
puts Date.today.formatting(:euro_date).color(:reverse).to_s
|
22
25
|
puts Date.today.formatting(:machine_date).color(:cyan_bold).to_s
|
23
26
|
puts "#pzm (Plus, Zero, Minus) can show in different color depending on the value passed."
|
24
27
|
[-1, 0, 1].each do |n|
|
28
|
+
print "#{n.class}: "
|
25
29
|
puts n.formatting(:digit6).pzm(:reverse, :red_marker, :magenta_marker).to_s
|
26
30
|
end
|
27
31
|
puts "Formatting helper for HTML, you set your color in CSS (Cyan Marker)".color(:cyan_marker).to_s
|
@@ -33,10 +33,12 @@ require 'date'
|
|
33
33
|
:euro_datetimesecond => {:time_format => "%d-%m-%Y %H:%M:%s", :applicable => [Date, DateTime, Time], :rest => "0000-00-00 00:00:00" },
|
34
34
|
:machine_datetime => {:time_format => "%Y%m%d%H%M", :applicable => [Date, DateTime], :rest => "000000000000" },
|
35
35
|
|
36
|
+
# Fixnum is deprecated in Ruby > 2.4.0 should be removed soon.
|
36
37
|
:digit6 =>{:format => "%06d", :applicable => [Fixnum, Integer, Float], :rest => "000000"},
|
37
38
|
:digit2 =>{:format => "%02d", :applicable => [Fixnum, Integer, Float], :rest => "00"},
|
38
39
|
|
39
|
-
:
|
40
|
+
:commify =>{:function => "commify", :applicable => [Integer, Float, String, NilClass], :rest => ""},
|
41
|
+
:euro_commify =>{:function => "euro_commify", :applicable => [Integer, Float, String, NilClass], :rest => ""},
|
40
42
|
}.freeze
|
41
43
|
|
42
44
|
def initialize(data, formatting_option=nil)
|
@@ -103,7 +105,7 @@ require 'date'
|
|
103
105
|
elsif recipe[:format]
|
104
106
|
result = recipe[:format] % @data
|
105
107
|
elsif recipe[:function]
|
106
|
-
Formatting.send(recipe[:function], @data)
|
108
|
+
result = Formatting.send(recipe[:function], @data)
|
107
109
|
end
|
108
110
|
else
|
109
111
|
result = recipe[:rest]
|
@@ -143,12 +145,45 @@ require 'date'
|
|
143
145
|
end
|
144
146
|
|
145
147
|
def self.commify(num)
|
148
|
+
case num.class.to_s
|
149
|
+
when 'Float', 'Integer'
|
150
|
+
return Formatting.commify_string(num.to_s)
|
151
|
+
when 'String'
|
152
|
+
return Formatting.commify_string(num)
|
153
|
+
when 'NilClass'
|
154
|
+
return "0"
|
155
|
+
else
|
156
|
+
return "#{num.class}"
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
def self.commify_string(num)
|
146
161
|
int, frac = *num.split(".")
|
147
162
|
int = int.gsub(/(\d)(?=\d{3}+$)/, '\\1,')
|
148
163
|
int << "." << frac if frac
|
149
164
|
int
|
150
165
|
end
|
151
166
|
|
167
|
+
def self.euro_commify(num)
|
168
|
+
case num.class.to_s
|
169
|
+
when 'Float', 'Integer'
|
170
|
+
return Formatting.euro_commify_string(num.to_s)
|
171
|
+
when 'String'
|
172
|
+
return Formatting.euro_commify_string(num)
|
173
|
+
when 'NilClass'
|
174
|
+
return "0"
|
175
|
+
else
|
176
|
+
return "#{num.class}"
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
def self.euro_commify_string(num)
|
181
|
+
int, frac = *num.split(".")
|
182
|
+
int = int.gsub(/(\d)(?=\d{3}+$)/, '\\1.')
|
183
|
+
int << "," << frac if frac
|
184
|
+
int
|
185
|
+
end
|
186
|
+
|
152
187
|
end
|
153
188
|
|
154
189
|
class NilClass
|
data/lib/hiro_format/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hiro_format
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hiro Utsumi
|
@@ -53,7 +53,6 @@ files:
|
|
53
53
|
- bin/console
|
54
54
|
- bin/setup
|
55
55
|
- formatting_samples.rb
|
56
|
-
- hiro_format-0.0.1.gem
|
57
56
|
- hiro_format.gemspec
|
58
57
|
- lib/hiro_format.rb
|
59
58
|
- lib/hiro_format/coloring.rb
|
data/hiro_format-0.0.1.gem
DELETED
Binary file
|