textme 0.0.7 → 0.0.8
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/lib/textme.rb +34 -13
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6559af3dd360552edea0f86ecb4986db7be6f6f6
|
4
|
+
data.tar.gz: 3ff2d3317bc60232479c6731bda552189ed81cf8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 488ad0f3f3459736377734390f13d5e99d9e7cf6405928837badced9a2272524fa63a594e25ef10de99618184650dec5674420a8c58fe6c6c42186a29d5e4cf5
|
7
|
+
data.tar.gz: 747817b6e92a5253241868b92870b2caee789f64f7f0cadc7abf3c91e57635c867b2a412065e107b6b33034671a027c9e451031b72ef6949a3fa7630ca5fed47
|
data/lib/textme.rb
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
#Initialize once with the credentials
|
3
3
|
#Keep texting 'send_message' method to the number entered in the argument
|
4
4
|
#
|
5
|
+
#Dependencies -> 'twilio-ruby', 'metainspector'
|
6
|
+
#
|
5
7
|
|
6
8
|
require 'twilio-ruby' #The Twilio gem
|
7
9
|
require 'metainspector' #Gem to help extract the open graph data
|
@@ -11,13 +13,13 @@ module TextMe
|
|
11
13
|
#Constructor
|
12
14
|
#What: Initialize Twilio with credentials and save the from number
|
13
15
|
#Input: account_sid, auth_token => From twilio dashbaord
|
14
|
-
# 'from' number => from your twilio settings
|
16
|
+
# 'from' number, 'to' number => from your twilio settings
|
15
17
|
#Output: No output
|
16
18
|
def initialize(account_sid, auth_token, sender_number, reciever_number)
|
17
19
|
#Initialize the twilio client
|
18
20
|
@client = Twilio::REST::Client.new account_sid, auth_token
|
19
21
|
|
20
|
-
#Save the 'from' number as private variable
|
22
|
+
#Save the 'from' and 'to' number as private variable
|
21
23
|
@sender_number = sender_number
|
22
24
|
@reciever_number = reciever_number
|
23
25
|
end
|
@@ -27,9 +29,9 @@ module TextMe
|
|
27
29
|
#Input: You version url of the verse
|
28
30
|
#Output: A hash with the (always) 'verse' => (verse name + verse text),
|
29
31
|
# (optional) 'image_url' => image verse
|
30
|
-
def meta_extractor(
|
32
|
+
def meta_extractor(verse_name)
|
31
33
|
extractor = TextMe::BibleExtractor.new
|
32
|
-
url = extractor.verse_url_generator(
|
34
|
+
url = extractor.verse_url_generator(verse_name)
|
33
35
|
#Use a Hash to store the verse and image url
|
34
36
|
metadata = Hash.new
|
35
37
|
|
@@ -77,16 +79,26 @@ module TextMe
|
|
77
79
|
end
|
78
80
|
end
|
79
81
|
|
82
|
+
#Helper Class to generate the url from a verse name
|
80
83
|
class BibleExtractor
|
81
|
-
|
82
|
-
|
84
|
+
#Helper Method
|
85
|
+
#What: Take in the verse name and return the metadata as a Hash.
|
86
|
+
#Input: Verse name, for example 'Proverbs 3:5-6'.
|
87
|
+
# Can also accept chapter names eg. 'Romans 3' (not recommended due to the length of the chapters)
|
88
|
+
#Output: Returns the book, chapter number and the specfic verse (optional) rfom the verse name
|
89
|
+
def self.verse_meta_extractor(verse_name)
|
90
|
+
book_list =["Genesis", "Exodus", "Leviticus", "Numbers", "Deuteronomy", "Joshua", "Judges", "Ruth", "1 Samuel", "2 Samuel", "1 Kings", "2 Kings", "1 Chronicles", "2 Chronicles", "Ezra", "Nehemiah", "Esther", "Job", "Psalms", "Proverbs", "Ecclesiastes", "Song of Songs", "Isaiah", "Jeremiah", "Lamentations", "Ezekiel", "Daniel", "Hosea", "Joel", "Amos", "Obadiah", "Jonah", "Micah", "Nahum", "Habakkuk", "Zephaniah", "Haggai", "Zechariah", "Malachi", "Matthew", "Mark", "Luke", "John", "Acts", "Romans", "1 Corinthians", "2 Corinthians", "Galatians", "Ephesians", "Philippians", "Colossians", "1 Thessalonians", "2 Thessalonians", "1 Timothy", "2 Timothy", "Titus", "Philemon", "Hebrews", "James", "1 Peter", "2 Peter", "1 John", "2 John", "3 John", "Jude", "Revelation"]
|
83
91
|
verse_meta = {}
|
84
|
-
|
92
|
+
|
93
|
+
#Loop through the book_list to see which book verse name contains
|
94
|
+
for book in book_list
|
85
95
|
if verse_name.downcase.include? book.downcase
|
86
96
|
verse_meta["book"] = book
|
87
97
|
|
98
|
+
#Split the rest of the verse name into list (chapter number + verse number)
|
88
99
|
verse_number = verse_name.split(book)[1].strip
|
89
100
|
|
101
|
+
#To check if the whole chapter is requested or specific verses
|
90
102
|
if verse_number.include? ':'
|
91
103
|
verse_meta['chapter_number'] = verse_number.split(':')[0].strip
|
92
104
|
verse_meta['specific_verse'] = verse_number.split(':')[1].strip
|
@@ -98,17 +110,27 @@ module TextMe
|
|
98
110
|
return verse_meta
|
99
111
|
end
|
100
112
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
113
|
+
#What: Is called from the Core class. Gets the verse name and calls verse_meta_extractor.
|
114
|
+
# Uses the meta data and book_name_formatter to generate th You Version url
|
115
|
+
#Input: Verse name, for example 'Proverbs 3:5-6'.
|
116
|
+
# Can also accept chapter names eg. 'Romans 3' (not recommended due to the length of the chapters)
|
117
|
+
#Output: You version url of the verse
|
118
|
+
def verse_url_generator(verse_name)
|
119
|
+
verse_meta = verse_meta_extractor(verse_name)
|
120
|
+
url = 'https://bible.com/bible/59/' #base url
|
121
|
+
url = url + book_name_formatter(verse_meta['book']) + '/' #book name
|
122
|
+
url = url + verse_meta["chapter_number"] + '/' #chapter number
|
123
|
+
#add verse number only if not just book name
|
106
124
|
if verse_meta['specific_verse']
|
107
125
|
url = url + verse_meta['specific_verse']
|
108
126
|
end
|
109
127
|
return url
|
110
128
|
end
|
111
129
|
|
130
|
+
#Helper Method
|
131
|
+
#What: It is a very long switch statement (order maintained) that transform the bible book name
|
132
|
+
#Input: Name of the specific book of the bible - eg. 'Psalms'
|
133
|
+
#Output: The You Version url specific book name
|
112
134
|
def book_name_formatter(book_name)
|
113
135
|
transformed_name = nil
|
114
136
|
|
@@ -247,6 +269,5 @@ module TextMe
|
|
247
269
|
transformed_name = "rev"
|
248
270
|
end
|
249
271
|
end
|
250
|
-
|
251
272
|
end
|
252
273
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: textme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Harsh Gosar
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: metainspector
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 5.4.1
|
34
34
|
type: :runtime
|
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: 5.4.1
|
41
41
|
description: Text bible verse to a user
|
42
42
|
email: harsh.g1218@gmail.com
|
43
43
|
executables: []
|