meaning 0.1.5 → 0.2.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 +5 -5
- data/Gemfile +0 -5
- data/lib/meaning/version.rb +1 -1
- data/lib/meaning.rb +25 -7
- data/meaning.gemspec +7 -7
- metadata +14 -16
- data/bin/main +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5064acce9ef366cad77e1bf9ba8f20889d44a27f43f177120e1da9181c6b5409
|
4
|
+
data.tar.gz: 0f2b0eea2aa74548137687fa8f2984aab1601f8b06285b525a0a60d280f8994d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86c35d51319107fdde6137f058235d22b4bfee9d87b494dc5f801c2f50754c7ef9772f4e025c5698111b6687a1ccd9a6fbde4d3df154e1c5aa26cddaa0572727
|
7
|
+
data.tar.gz: b85cc2514728e927d7853cb2bbfbd762ec3f76e263f254159ae4721eb7df41c6390f7b45ace10a2153621ab4eb662d107b6dd3217bd4a26a5d9358c8884d6432
|
data/Gemfile
CHANGED
data/lib/meaning/version.rb
CHANGED
data/lib/meaning.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require_relative "meaning/version"
|
2
|
-
|
3
|
-
|
2
|
+
require 'net/http'
|
3
|
+
require 'uri'
|
4
|
+
require 'nokogiri'
|
5
|
+
|
4
6
|
module Meaning
|
5
7
|
class MeaningLab
|
6
8
|
attr_reader :dictionary
|
@@ -14,13 +16,14 @@ module Meaning
|
|
14
16
|
def define
|
15
17
|
if get_the_content
|
16
18
|
sound
|
17
|
-
fetch_for("definitions",".def")
|
18
|
-
fetch_for("examples",".eg")
|
19
|
+
fetch_for("definitions", ".def.ddef_d")
|
20
|
+
fetch_for("examples", ".examp.dexamp .eg")
|
19
21
|
end
|
20
22
|
end
|
21
23
|
|
22
24
|
def sound
|
23
|
-
|
25
|
+
# This will get both UK and US pronunciations, you can refine as needed
|
26
|
+
@dictionary[:sound] = @doc.css(".pron.dpron").map { |el| el.text.strip }.uniq.join(" | ")
|
24
27
|
end
|
25
28
|
|
26
29
|
def sanatize text
|
@@ -38,10 +41,12 @@ module Meaning
|
|
38
41
|
end
|
39
42
|
@dictionary[name.to_sym] = elements unless elements.empty?
|
40
43
|
end
|
44
|
+
|
41
45
|
def sanatize_from_colon text
|
42
46
|
text.gsub!(":",".")
|
43
47
|
text
|
44
48
|
end
|
49
|
+
|
45
50
|
def get_the_content
|
46
51
|
load_page
|
47
52
|
begin
|
@@ -58,10 +63,23 @@ module Meaning
|
|
58
63
|
end
|
59
64
|
|
60
65
|
def file
|
61
|
-
|
66
|
+
uri = URI(api)
|
67
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
68
|
+
http.use_ssl = true
|
69
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
70
|
+
|
71
|
+
request = Net::HTTP::Get.new(uri)
|
72
|
+
request['User-Agent'] = 'Mozilla/5.0 (compatible; Meaning Gem)'
|
73
|
+
|
74
|
+
response = http.request(request)
|
75
|
+
response.body
|
76
|
+
rescue => e
|
77
|
+
@dictionary[:error] = "Network error: #{e.message}"
|
78
|
+
""
|
62
79
|
end
|
80
|
+
|
63
81
|
def api
|
64
|
-
"
|
82
|
+
"https://dictionary.cambridge.org/dictionary/english/#{dictionary[:word].downcase}"
|
65
83
|
end
|
66
84
|
end
|
67
85
|
end
|
data/meaning.gemspec
CHANGED
@@ -14,16 +14,16 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.homepage = "https://github.com/khaledmohammedfares/meaning"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
17
|
-
|
18
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
19
18
|
spec.bindir = "bin"
|
20
|
-
spec.executables = ['meaning']
|
19
|
+
spec.executables = ['meaning']
|
21
20
|
spec.require_paths = ["lib"]
|
22
21
|
|
23
|
-
spec.
|
24
|
-
spec.add_development_dependency "rake", "~> 10.0"
|
25
|
-
spec.add_runtime_dependency "thor","~> 0.19.1"
|
26
|
-
spec.add_runtime_dependency "nokogiri","~> 1.6.7"
|
27
|
-
spec.add_runtime_dependency "rainbow","~> 2.1.0"
|
22
|
+
spec.required_ruby_version = '>= 2.6.0'
|
28
23
|
|
24
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
25
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
26
|
+
spec.add_runtime_dependency "thor", "~> 1.0"
|
27
|
+
spec.add_runtime_dependency "nokogiri", "~> 1.15"
|
28
|
+
spec.add_runtime_dependency "rainbow", "~> 3.0"
|
29
29
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: meaning
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Khaled0Fares
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,70 +16,70 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: thor
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0
|
47
|
+
version: '1.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0
|
54
|
+
version: '1.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: nokogiri
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
61
|
+
version: '1.15'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.
|
68
|
+
version: '1.15'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rainbow
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: '3.0'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: '3.0'
|
83
83
|
description: English Dictionary(CLI and API) based on dictionary.cambridge.org site
|
84
84
|
email:
|
85
85
|
- kfares29@gmail.com
|
@@ -94,7 +94,6 @@ files:
|
|
94
94
|
- Gemfile
|
95
95
|
- README.md
|
96
96
|
- Rakefile
|
97
|
-
- bin/main
|
98
97
|
- bin/meaning
|
99
98
|
- imgs/factotum.png
|
100
99
|
- lib/meaning.rb
|
@@ -112,15 +111,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
111
|
requirements:
|
113
112
|
- - ">="
|
114
113
|
- !ruby/object:Gem::Version
|
115
|
-
version:
|
114
|
+
version: 2.6.0
|
116
115
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
116
|
requirements:
|
118
117
|
- - ">="
|
119
118
|
- !ruby/object:Gem::Version
|
120
119
|
version: '0'
|
121
120
|
requirements: []
|
122
|
-
|
123
|
-
rubygems_version: 2.5.1
|
121
|
+
rubygems_version: 3.0.3.1
|
124
122
|
signing_key:
|
125
123
|
specification_version: 4
|
126
124
|
summary: English Dictionary(CLI and API) based on dictionary.cambridge.org
|