flagmoji 0.1.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 +7 -0
- data/.gitignore +8 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +21 -0
- data/LICENSE.txt +21 -0
- data/README.md +44 -0
- data/Rakefile +9 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/data/flags.json +1556 -0
- data/flagmoji.gemspec +29 -0
- data/lib/flagmoji.rb +29 -0
- data/lib/flagmoji/country.rb +25 -0
- data/lib/flagmoji/version.rb +3 -0
- metadata +79 -0
data/flagmoji.gemspec
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
require_relative 'lib/flagmoji/version'
|
2
|
+
|
3
|
+
Gem::Specification.new do |spec|
|
4
|
+
spec.name = "flagmoji"
|
5
|
+
spec.version = Flagmoji::VERSION
|
6
|
+
spec.authors = ["Chong Hui"]
|
7
|
+
spec.email = ["iamchoonggg@gmail.com"]
|
8
|
+
|
9
|
+
spec.summary = "Flag Emoji"
|
10
|
+
spec.description = "Retrieves flag emoji from country code"
|
11
|
+
spec.homepage = "https://github.com/choonggg/flagmoji"
|
12
|
+
spec.license = "MIT"
|
13
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
|
14
|
+
|
15
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
16
|
+
spec.metadata["source_code_uri"] = spec.homepage
|
17
|
+
# spec.metadata["changelog_uri"] = spec.homepage
|
18
|
+
|
19
|
+
# Specify which files should be added to the gem when it is released.
|
20
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
21
|
+
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
22
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
23
|
+
end
|
24
|
+
spec.bindir = "exe"
|
25
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
26
|
+
spec.require_paths = ["lib"]
|
27
|
+
|
28
|
+
spec.add_development_dependency "minitest", "~> 5.14", ">= 5.14.2"
|
29
|
+
end
|
data/lib/flagmoji.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
require "flagmoji/version"
|
2
|
+
require "flagmoji/country"
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Flagmoji
|
6
|
+
extend self
|
7
|
+
|
8
|
+
def data_file
|
9
|
+
File.expand_path("../../data/flags.json", __FILE__)
|
10
|
+
end
|
11
|
+
|
12
|
+
def all
|
13
|
+
@all ||= map_data_to_country
|
14
|
+
end
|
15
|
+
|
16
|
+
def from_code(code)
|
17
|
+
all[code] || Country.null
|
18
|
+
end
|
19
|
+
|
20
|
+
alias_method :[], :from_code
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def map_data_to_country
|
25
|
+
json = JSON.parse(File.read(data_file))
|
26
|
+
|
27
|
+
Hash[json.map { |country, data| [country, Country.from_data(data)] }]
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Flagmoji
|
2
|
+
class Country
|
3
|
+
attr_reader :code, :name, :unicode, :emoji
|
4
|
+
|
5
|
+
def initialize(code:, name:, unicode:, emoji:)
|
6
|
+
@code = code
|
7
|
+
@name = name
|
8
|
+
@unicode = unicode
|
9
|
+
@emoji = emoji
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.from_data(data)
|
13
|
+
new(data.transform_keys(&:to_sym))
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.null
|
17
|
+
new(
|
18
|
+
code: "N/A",
|
19
|
+
name: "Country missing",
|
20
|
+
unicode: "",
|
21
|
+
emoji: ""
|
22
|
+
)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
metadata
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: flagmoji
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Chong Hui
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-10-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: minitest
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '5.14'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 5.14.2
|
23
|
+
type: :development
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '5.14'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 5.14.2
|
33
|
+
description: Retrieves flag emoji from country code
|
34
|
+
email:
|
35
|
+
- iamchoonggg@gmail.com
|
36
|
+
executables: []
|
37
|
+
extensions: []
|
38
|
+
extra_rdoc_files: []
|
39
|
+
files:
|
40
|
+
- ".gitignore"
|
41
|
+
- CODE_OF_CONDUCT.md
|
42
|
+
- Gemfile
|
43
|
+
- Gemfile.lock
|
44
|
+
- LICENSE.txt
|
45
|
+
- README.md
|
46
|
+
- Rakefile
|
47
|
+
- bin/console
|
48
|
+
- bin/setup
|
49
|
+
- data/flags.json
|
50
|
+
- flagmoji.gemspec
|
51
|
+
- lib/flagmoji.rb
|
52
|
+
- lib/flagmoji/country.rb
|
53
|
+
- lib/flagmoji/version.rb
|
54
|
+
homepage: https://github.com/choonggg/flagmoji
|
55
|
+
licenses:
|
56
|
+
- MIT
|
57
|
+
metadata:
|
58
|
+
homepage_uri: https://github.com/choonggg/flagmoji
|
59
|
+
source_code_uri: https://github.com/choonggg/flagmoji
|
60
|
+
post_install_message:
|
61
|
+
rdoc_options: []
|
62
|
+
require_paths:
|
63
|
+
- lib
|
64
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 2.3.0
|
69
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '0'
|
74
|
+
requirements: []
|
75
|
+
rubygems_version: 3.0.3
|
76
|
+
signing_key:
|
77
|
+
specification_version: 4
|
78
|
+
summary: Flag Emoji
|
79
|
+
test_files: []
|