ffaker 2.13.0 → 2.18.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.
- checksums.yaml +4 -4
- data/Changelog.md +31 -0
- data/README.md +14 -5
- data/REFERENCE.md +1398 -1249
- data/Rakefile +3 -9
- data/ffaker.gemspec +14 -5
- data/lib/ffaker.rb +12 -6
- data/lib/ffaker/address_ch.rb +0 -2
- data/lib/ffaker/address_ch_de.rb +0 -2
- data/lib/ffaker/address_ch_fr.rb +0 -2
- data/lib/ffaker/address_ch_it.rb +0 -2
- data/lib/ffaker/address_da.rb +0 -2
- data/lib/ffaker/address_de.rb +0 -2
- data/lib/ffaker/address_fi.rb +0 -2
- data/lib/ffaker/address_fr.rb +5 -3
- data/lib/ffaker/address_gr.rb +0 -2
- data/lib/ffaker/address_id.rb +0 -2
- data/lib/ffaker/address_in.rb +0 -2
- data/lib/ffaker/address_ja.rb +0 -2
- data/lib/ffaker/address_nl.rb +1 -5
- data/lib/ffaker/address_ru.rb +0 -2
- data/lib/ffaker/address_se.rb +0 -2
- data/lib/ffaker/address_sn.rb +0 -2
- data/lib/ffaker/address_ua.rb +0 -2
- data/lib/ffaker/address_uk.rb +0 -2
- data/lib/ffaker/address_us.rb +0 -2
- data/lib/ffaker/{animals.rb → animal.rb} +1 -1
- data/lib/ffaker/{animals_cn.rb → animal_cn.rb} +0 -0
- data/lib/ffaker/animal_es.rb +12 -0
- data/lib/ffaker/{animals_us.rb → animal_us.rb} +0 -0
- data/lib/ffaker/bacon_ipsum.rb +0 -2
- data/lib/ffaker/code.rb +17 -0
- data/lib/ffaker/company_ja.rb +24 -0
- data/lib/ffaker/data/address_fr/region +27 -0
- data/lib/ffaker/data/animal_es/common_names +135 -0
- data/lib/ffaker/data/filesystem/extension +31 -31
- data/lib/ffaker/data/food_pl/diary +14 -0
- data/lib/ffaker/data/food_pl/fermented +13 -0
- data/lib/ffaker/data/food_pl/fruits +34 -0
- data/lib/ffaker/data/food_pl/herbs +20 -0
- data/lib/ffaker/data/food_pl/meats +9 -0
- data/lib/ffaker/data/food_pl/preserves +10 -0
- data/lib/ffaker/data/food_pl/spices +26 -0
- data/lib/ffaker/data/food_pl/vegetables +45 -0
- data/lib/ffaker/data/freedom_ipsum/freedom_words +161 -0
- data/lib/ffaker/data/lorem/words +0 -67
- data/lib/ffaker/data/phone_number_ja/four_disit_area_codes +41 -0
- data/lib/ffaker/data/phone_number_ja/one_disit_area_codes +3 -0
- data/lib/ffaker/data/phone_number_ja/three_disit_area_codes +296 -0
- data/lib/ffaker/data/phone_number_ja/two_disit_area_codes +48 -0
- data/lib/ffaker/dizzle_ipsum.rb +0 -2
- data/lib/ffaker/education.rb +4 -8
- data/lib/ffaker/education_cn.rb +3 -6
- data/lib/ffaker/filesystem.rb +7 -7
- data/lib/ffaker/food_pl.rb +65 -0
- data/lib/ffaker/freedom_ipsum.rb +20 -0
- data/lib/ffaker/healthcare_ipsum.rb +0 -2
- data/lib/ffaker/hipster_ipsum.rb +0 -2
- data/lib/ffaker/identification_es_cl.rb +0 -2
- data/lib/ffaker/identification_es_co.rb +0 -1
- data/lib/ffaker/identification_in.rb +15 -0
- data/lib/ffaker/identification_kr.rb +1 -1
- data/lib/ffaker/identification_mx.rb +1 -3
- data/lib/ffaker/identification_tw.rb +23 -0
- data/lib/ffaker/image.rb +8 -11
- data/lib/ffaker/internet.rb +1 -1
- data/lib/ffaker/internet_se.rb +1 -3
- data/lib/ffaker/lorem_cn.rb +0 -1
- data/lib/ffaker/name_cs.rb +0 -2
- data/lib/ffaker/name_da.rb +0 -2
- data/lib/ffaker/name_de.rb +0 -2
- data/lib/ffaker/name_mx.rb +2 -4
- data/lib/ffaker/name_nb.rb +0 -2
- data/lib/ffaker/name_nl.rb +0 -2
- data/lib/ffaker/name_ph.rb +0 -2
- data/lib/ffaker/name_ru.rb +0 -2
- data/lib/ffaker/name_se.rb +0 -2
- data/lib/ffaker/name_ua.rb +0 -2
- data/lib/ffaker/phone_number_br.rb +2 -2
- data/lib/ffaker/phone_number_da.rb +0 -1
- data/lib/ffaker/phone_number_ja.rb +88 -0
- data/lib/ffaker/product.rb +1 -1
- data/lib/ffaker/ssn.rb +1 -3
- data/lib/ffaker/string.rb +5 -5
- data/lib/ffaker/unit.rb +9 -10
- data/lib/ffaker/unit_english.rb +18 -21
- data/lib/ffaker/unit_metric.rb +15 -18
- data/lib/ffaker/utils/unique_utils.rb +0 -2
- data/lib/ffaker/vehicle.rb +1 -1
- data/lib/version.rb +5 -0
- data/scripts/benchmark.rb +10 -11
- data/test/helper.rb +3 -3
- data/test/test_address_au.rb +2 -2
- data/test/test_address_br.rb +1 -1
- data/test/test_address_fi.rb +2 -2
- data/test/test_address_fr.rb +1 -1
- data/test/test_address_id.rb +1 -1
- data/test/test_address_ja.rb +1 -1
- data/test/test_address_nl.rb +1 -1
- data/test/test_address_se.rb +2 -2
- data/test/test_animal_es.rb +17 -0
- data/test/test_array_utils.rb +0 -1
- data/test/test_aws.rb +1 -1
- data/test/test_bank.rb +2 -3
- data/test/test_book.rb +4 -4
- data/test/test_code.rb +22 -1
- data/test/test_company_ja.rb +28 -0
- data/test/{test_faker.rb → test_ffaker.rb} +5 -1
- data/test/test_filesystem.rb +11 -3
- data/test/test_food_pl.rb +61 -0
- data/test/test_freedom_ipsum.rb +21 -0
- data/test/test_geolocation.rb +2 -2
- data/test/test_healthcare_ru.rb +1 -1
- data/test/test_html_ipsum.rb +1 -1
- data/test/test_identification_co.rb +1 -1
- data/test/test_identification_es_cl.rb +1 -1
- data/test/test_identification_in.rb +20 -0
- data/test/test_identification_tw.rb +17 -0
- data/test/test_image.rb +4 -4
- data/test/test_internet_se.rb +1 -1
- data/test/test_lorem.rb +4 -0
- data/test/test_lorem_fr.rb +9 -7
- data/test/test_lorem_pl.rb +1 -1
- data/test/test_lorem_ru.rb +1 -1
- data/test/test_lorem_ua.rb +1 -1
- data/test/test_music.rb +4 -4
- data/test/test_phone_number_ja.rb +63 -0
- data/test/test_ssn_se.rb +3 -3
- data/test/test_string.rb +3 -3
- data/test/test_time.rb +2 -3
- data/test/test_tweet.rb +4 -4
- data/test/test_vehicle.rb +2 -2
- metadata +214 -162
data/lib/ffaker/name_nb.rb
CHANGED
data/lib/ffaker/name_nl.rb
CHANGED
data/lib/ffaker/name_ph.rb
CHANGED
data/lib/ffaker/name_ru.rb
CHANGED
data/lib/ffaker/name_se.rb
CHANGED
data/lib/ffaker/name_ua.rb
CHANGED
|
@@ -14,8 +14,8 @@ module FFaker
|
|
|
14
14
|
|
|
15
15
|
COUNTRY_PREFIX = '+55'
|
|
16
16
|
AREA_CODE = [
|
|
17
|
-
|
|
18
|
-
51
|
|
17
|
+
11..19, 21..22, 24, 27..28, 31..35, 37..38, 41..49,
|
|
18
|
+
51, 53..55, 61..69, 71, 73..75, 77, 79, 81..89, 91..99
|
|
19
19
|
].flat_map { |x| Array(x) }.map(&:to_s).freeze
|
|
20
20
|
|
|
21
21
|
HOME_WORK_PHONE_PREFIX = %w[2 3 4 5].freeze
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# sourse: https://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/number_shitei.html#kotei-denwa
|
|
4
|
+
|
|
5
|
+
module FFaker
|
|
6
|
+
module PhoneNumberJA
|
|
7
|
+
extend ModuleUtils
|
|
8
|
+
extend self
|
|
9
|
+
|
|
10
|
+
JAPAN_PREFIX = '0'
|
|
11
|
+
JAPAN_COUNTRY_CODE = '+81'
|
|
12
|
+
|
|
13
|
+
ONE_DISIT_FORMAT = '%s #### ####'
|
|
14
|
+
TWO_DISIT_FORMAT = '%s ### ####'
|
|
15
|
+
THREE_DISIT_FORMAT = '%s ## ####'
|
|
16
|
+
FOUR_DISIT_FORMAT = '%s # ####'
|
|
17
|
+
|
|
18
|
+
MOBILE_PHONE_PREFIXES = %w[90 80 70].freeze
|
|
19
|
+
IP_PHONE_PREFIX = '50'
|
|
20
|
+
MOBILE_NUMBER_FORMAT = '%s #### ####'
|
|
21
|
+
|
|
22
|
+
def home_phone_number
|
|
23
|
+
disit = rand(1..4)
|
|
24
|
+
FFaker.numerify("#{JAPAN_PREFIX}#{home_phone_number_format(disit)}")
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def mobile_phone_number
|
|
28
|
+
FFaker.numerify("#{JAPAN_PREFIX}#{mobile_phone_number_format}")
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def phone_number
|
|
32
|
+
case rand(0..1)
|
|
33
|
+
when 0 then home_phone_number
|
|
34
|
+
when 1 then mobile_phone_number
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def international_home_phone_number
|
|
39
|
+
disit = rand(1..4)
|
|
40
|
+
FFaker.numerify("#{JAPAN_COUNTRY_CODE} #{home_phone_number_format(disit)}")
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def international_mobile_phone_number
|
|
44
|
+
FFaker.numerify("#{JAPAN_COUNTRY_CODE} #{mobile_phone_number_format}")
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def international_phone_number
|
|
48
|
+
case rand(0..1)
|
|
49
|
+
when 0 then international_mobile_phone_number
|
|
50
|
+
when 1 then international_home_phone_number
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def home_phone_prefix(disit = nil)
|
|
55
|
+
case disit
|
|
56
|
+
when 1 then fetch_sample(ONE_DISIT_AREA_CODES)
|
|
57
|
+
when 2 then fetch_sample(TWO_DISIT_AREA_CODES)
|
|
58
|
+
when 3 then fetch_sample(THREE_DISIT_AREA_CODES)
|
|
59
|
+
when 4 then fetch_sample(FOUR_DISIT_AREA_CODES)
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def home_phone_number_format(disit)
|
|
64
|
+
prefix = home_phone_prefix(disit)
|
|
65
|
+
select_home_phone_format(disit) % prefix
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def mobile_prefix
|
|
69
|
+
fetch_sample(MOBILE_PHONE_PREFIXES)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def mobile_phone_number_format
|
|
73
|
+
prefix = mobile_prefix
|
|
74
|
+
MOBILE_NUMBER_FORMAT % prefix
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
private
|
|
78
|
+
|
|
79
|
+
def select_home_phone_format(disit)
|
|
80
|
+
case disit
|
|
81
|
+
when 1 then ONE_DISIT_FORMAT
|
|
82
|
+
when 2 then TWO_DISIT_FORMAT
|
|
83
|
+
when 3 then THREE_DISIT_FORMAT
|
|
84
|
+
when 4 then FOUR_DISIT_FORMAT
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
data/lib/ffaker/product.rb
CHANGED
|
@@ -14,7 +14,7 @@ module FFaker
|
|
|
14
14
|
def brand
|
|
15
15
|
case rand(0..11)
|
|
16
16
|
when (0..4) then fetch_sample(B1) + fetch_sample(B2)
|
|
17
|
-
when (5..10)
|
|
17
|
+
when (5..10)
|
|
18
18
|
[
|
|
19
19
|
fetch_sample(START), fetch_sample(VOWELS), fetch_sample(SUFFIX),
|
|
20
20
|
rand(0..1).zero? ? fetch_sample(ADDON) : nil
|
data/lib/ffaker/ssn.rb
CHANGED
data/lib/ffaker/string.rb
CHANGED
|
@@ -8,10 +8,10 @@ module FFaker
|
|
|
8
8
|
BACKSLASH = '\\'
|
|
9
9
|
DASH = '-'
|
|
10
10
|
|
|
11
|
-
LOWERS =
|
|
12
|
-
UPPERS =
|
|
11
|
+
LOWERS = Array('a'..'z').freeze
|
|
12
|
+
UPPERS = Array('A'..'Z').freeze
|
|
13
13
|
LETTERS = LOWERS + UPPERS
|
|
14
|
-
NUMBERS =
|
|
14
|
+
NUMBERS = Array('0'..'9').freeze
|
|
15
15
|
WORD_CHARS = LETTERS + NUMBERS + ['_']
|
|
16
16
|
SPACES = [' ', "\t"].freeze
|
|
17
17
|
ESCAPEABLE_CHARS = ['\\', '/', '.', '(', ')', '[', ']', '{', '}'].freeze
|
|
@@ -34,7 +34,7 @@ module FFaker
|
|
|
34
34
|
while tokens.any?
|
|
35
35
|
token = tokens.shift
|
|
36
36
|
if token == DASH && tokens.first && result.last
|
|
37
|
-
result +=
|
|
37
|
+
result += Array(result.pop..tokens.shift)
|
|
38
38
|
elsif token == BACKSLASH
|
|
39
39
|
result << special(tokens.shift)
|
|
40
40
|
else
|
|
@@ -50,7 +50,7 @@ module FFaker
|
|
|
50
50
|
token = tokens.shift
|
|
51
51
|
|
|
52
52
|
case token
|
|
53
|
-
when '?'
|
|
53
|
+
when '?'
|
|
54
54
|
# TODO: Let ? generate nothing
|
|
55
55
|
'' # We already printed its target
|
|
56
56
|
when '+' then
|
data/lib/ffaker/unit.rb
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'ostruct'
|
|
4
|
-
|
|
5
3
|
module FFaker
|
|
6
4
|
module Unit
|
|
7
5
|
extend ModuleUtils
|
|
@@ -10,9 +8,10 @@ module FFaker
|
|
|
10
8
|
TIME_UNITS = [
|
|
11
9
|
{ name: 'Years', abbreviation: 'yr' },
|
|
12
10
|
{ name: 'Days', abbreviation: 'd' },
|
|
13
|
-
{ name: 'Hours', abbreviation: '
|
|
11
|
+
{ name: 'Hours', abbreviation: 'h' },
|
|
12
|
+
{ name: 'Minutes', abbreviation: 'm' },
|
|
14
13
|
{ name: 'Seconds', abbreviation: 's' },
|
|
15
|
-
{ name: 'Milliseconds', abbreviation: '
|
|
14
|
+
{ name: 'Milliseconds', abbreviation: 'ms' }
|
|
16
15
|
].freeze
|
|
17
16
|
TEMPERATURE_UNITS = [
|
|
18
17
|
{ name: 'Kelvin', abbreviation: 'K' },
|
|
@@ -21,29 +20,29 @@ module FFaker
|
|
|
21
20
|
].freeze
|
|
22
21
|
|
|
23
22
|
def time_name
|
|
24
|
-
time
|
|
23
|
+
time[:name]
|
|
25
24
|
end
|
|
26
25
|
|
|
27
26
|
def time_abbr
|
|
28
|
-
time
|
|
27
|
+
time[:abbreviation]
|
|
29
28
|
end
|
|
30
29
|
|
|
31
30
|
def temperature_name
|
|
32
|
-
temperature
|
|
31
|
+
temperature[:name]
|
|
33
32
|
end
|
|
34
33
|
|
|
35
34
|
def temperature_abbr
|
|
36
|
-
temperature
|
|
35
|
+
temperature[:abbreviation]
|
|
37
36
|
end
|
|
38
37
|
|
|
39
38
|
private
|
|
40
39
|
|
|
41
40
|
def time
|
|
42
|
-
|
|
41
|
+
fetch_sample(TIME_UNITS)
|
|
43
42
|
end
|
|
44
43
|
|
|
45
44
|
def temperature
|
|
46
|
-
|
|
45
|
+
fetch_sample(TEMPERATURE_UNITS)
|
|
47
46
|
end
|
|
48
47
|
end
|
|
49
48
|
end
|
data/lib/ffaker/unit_english.rb
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'ffaker/unit'
|
|
4
|
-
require 'ostruct'
|
|
5
|
-
|
|
6
3
|
module FFaker
|
|
7
4
|
module UnitEnglish
|
|
8
5
|
include FFaker::Unit
|
|
@@ -15,7 +12,7 @@ module FFaker
|
|
|
15
12
|
{ name: 'foot', abbreviation: 'ft' },
|
|
16
13
|
{ name: 'yard', abbreviation: 'yd' },
|
|
17
14
|
{ name: 'furlong', abbreviation: 'fur' },
|
|
18
|
-
{ name: 'mile', abbreviation: '
|
|
15
|
+
{ name: 'mile', abbreviation: 'mi' }
|
|
19
16
|
].freeze
|
|
20
17
|
MASS_UNITS = [
|
|
21
18
|
{ name: 'grains', abbreviation: 'gr' },
|
|
@@ -36,75 +33,75 @@ module FFaker
|
|
|
36
33
|
{ name: 'cubic yard', abbreviation: 'CY' }
|
|
37
34
|
].freeze
|
|
38
35
|
AREA_UNITS = [
|
|
39
|
-
{ name: 'square inch', abbreviation: 'sq
|
|
36
|
+
{ name: 'square inch', abbreviation: 'sq in' },
|
|
40
37
|
{ name: 'square foot', abbreviation: 'sq ft' },
|
|
41
38
|
{ name: 'square yard', abbreviation: 'sq yd' },
|
|
42
39
|
{ name: 'acre', abbreviation: 'ac' },
|
|
43
40
|
{ name: 'section', abbreviation: 's' },
|
|
44
41
|
{ name: 'square mile', abbreviation: 'sq mi' },
|
|
45
|
-
{ name: 'township', abbreviation: '
|
|
42
|
+
{ name: 'township', abbreviation: 'twp' }
|
|
46
43
|
].freeze
|
|
47
44
|
|
|
48
45
|
def mass_name
|
|
49
|
-
mass
|
|
46
|
+
mass[:name]
|
|
50
47
|
end
|
|
51
48
|
|
|
52
49
|
def mass_abbr
|
|
53
|
-
mass
|
|
50
|
+
mass[:abbreviation]
|
|
54
51
|
end
|
|
55
52
|
|
|
56
53
|
def length_name
|
|
57
|
-
length
|
|
54
|
+
length[:name]
|
|
58
55
|
end
|
|
59
56
|
|
|
60
57
|
def length_abbr
|
|
61
|
-
length
|
|
58
|
+
length[:abbreviation]
|
|
62
59
|
end
|
|
63
60
|
|
|
64
61
|
def liquid_name
|
|
65
|
-
liquid
|
|
62
|
+
liquid[:name]
|
|
66
63
|
end
|
|
67
64
|
|
|
68
65
|
def liquid_abbr
|
|
69
|
-
liquid
|
|
66
|
+
liquid[:abbreviation]
|
|
70
67
|
end
|
|
71
68
|
|
|
72
69
|
def volume_name
|
|
73
|
-
volume
|
|
70
|
+
volume[:name]
|
|
74
71
|
end
|
|
75
72
|
|
|
76
73
|
def volume_abbr
|
|
77
|
-
volume
|
|
74
|
+
volume[:abbreviation]
|
|
78
75
|
end
|
|
79
76
|
|
|
80
77
|
def area_name
|
|
81
|
-
area
|
|
78
|
+
area[:name]
|
|
82
79
|
end
|
|
83
80
|
|
|
84
81
|
def area_abbr
|
|
85
|
-
area
|
|
82
|
+
area[:abbreviation]
|
|
86
83
|
end
|
|
87
84
|
|
|
88
85
|
private
|
|
89
86
|
|
|
90
87
|
def length
|
|
91
|
-
|
|
88
|
+
fetch_sample(LENGTH_UNITS)
|
|
92
89
|
end
|
|
93
90
|
|
|
94
91
|
def mass
|
|
95
|
-
|
|
92
|
+
fetch_sample(MASS_UNITS)
|
|
96
93
|
end
|
|
97
94
|
|
|
98
95
|
def liquid
|
|
99
|
-
|
|
96
|
+
fetch_sample(LIQUID_UNITS)
|
|
100
97
|
end
|
|
101
98
|
|
|
102
99
|
def volume
|
|
103
|
-
|
|
100
|
+
fetch_sample(VOLUME_UNITS)
|
|
104
101
|
end
|
|
105
102
|
|
|
106
103
|
def area
|
|
107
|
-
|
|
104
|
+
fetch_sample(AREA_UNITS)
|
|
108
105
|
end
|
|
109
106
|
end
|
|
110
107
|
end
|
data/lib/ffaker/unit_metric.rb
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'ffaker/unit'
|
|
4
|
-
require 'ostruct'
|
|
5
|
-
|
|
6
3
|
module FFaker
|
|
7
4
|
module UnitMetric
|
|
8
5
|
include FFaker::Unit
|
|
@@ -37,65 +34,65 @@ module FFaker
|
|
|
37
34
|
].freeze
|
|
38
35
|
|
|
39
36
|
def mass_name
|
|
40
|
-
mass
|
|
37
|
+
mass[:name]
|
|
41
38
|
end
|
|
42
39
|
|
|
43
40
|
def mass_abbr
|
|
44
|
-
mass
|
|
41
|
+
mass[:abbreviation]
|
|
45
42
|
end
|
|
46
43
|
|
|
47
44
|
def length_name
|
|
48
|
-
length
|
|
45
|
+
length[:name]
|
|
49
46
|
end
|
|
50
47
|
|
|
51
48
|
def length_abbr
|
|
52
|
-
length
|
|
49
|
+
length[:abbreviation]
|
|
53
50
|
end
|
|
54
51
|
|
|
55
52
|
def liquid_name
|
|
56
|
-
liquid
|
|
53
|
+
liquid[:name]
|
|
57
54
|
end
|
|
58
55
|
|
|
59
56
|
def liquid_abbr
|
|
60
|
-
liquid
|
|
57
|
+
liquid[:abbreviation]
|
|
61
58
|
end
|
|
62
59
|
|
|
63
60
|
def volume_name
|
|
64
|
-
volume
|
|
61
|
+
volume[:name]
|
|
65
62
|
end
|
|
66
63
|
|
|
67
64
|
def volume_abbr
|
|
68
|
-
volume
|
|
65
|
+
volume[:abbreviation]
|
|
69
66
|
end
|
|
70
67
|
|
|
71
68
|
def area_name
|
|
72
|
-
area
|
|
69
|
+
area[:name]
|
|
73
70
|
end
|
|
74
71
|
|
|
75
72
|
def area_abbr
|
|
76
|
-
area
|
|
73
|
+
area[:abbreviation]
|
|
77
74
|
end
|
|
78
75
|
|
|
79
76
|
private
|
|
80
77
|
|
|
81
78
|
def length
|
|
82
|
-
|
|
79
|
+
fetch_sample(LENGTH_UNITS)
|
|
83
80
|
end
|
|
84
81
|
|
|
85
82
|
def mass
|
|
86
|
-
|
|
83
|
+
fetch_sample(MASS_UNITS)
|
|
87
84
|
end
|
|
88
85
|
|
|
89
86
|
def liquid
|
|
90
|
-
|
|
87
|
+
fetch_sample(LIQUID_UNITS)
|
|
91
88
|
end
|
|
92
89
|
|
|
93
90
|
def volume
|
|
94
|
-
|
|
91
|
+
fetch_sample(VOLUME_UNITS)
|
|
95
92
|
end
|
|
96
93
|
|
|
97
94
|
def area
|
|
98
|
-
|
|
95
|
+
fetch_sample(AREA_UNITS)
|
|
99
96
|
end
|
|
100
97
|
end
|
|
101
98
|
end
|