veda-apps 0.0.1 → 0.0.3
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/Gemfile +1 -1
- data/Gemfile.lock +14 -8
- data/README.md +2 -2
- data/bin/veda +81 -15
- data/lib/Multimedia.rb +5 -0
- data/lib/Qr.rb +16 -16
- data/lib/config.json +7 -0
- data/lib/fetcher.rb +16 -0
- data/lib/parser.rb +206 -0
- data/lib/veda/version.rb +1 -1
- data/veda.gemspec +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1616e793f238922a2db418b1a5eaba5ae0a5198f
|
4
|
+
data.tar.gz: ba1097a4e4bbea941522e53b4e4c9eaea664c6e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6eca968e57a4253194d8cd83ae191f2a7b7f6d665ce4102a103f4709430c5b5d30ae8f4fde31403a3af24ba21c19705533269cc854026ae36a7b44c755e69f75
|
7
|
+
data.tar.gz: 93dd3436c5c51cd41bbc1f1bd3127690210deff56828daf08eadf8a985d3a79dd5a41c585ad4c3e7d20a3f081899827daf662bff5d33a4a45b48053affd2b68d
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -18,7 +18,6 @@ GEM
|
|
18
18
|
builder (3.2.3)
|
19
19
|
childprocess (0.8.0)
|
20
20
|
ffi (~> 1.0, >= 1.0.11)
|
21
|
-
coderay (1.1.1)
|
22
21
|
contracts (0.16.0)
|
23
22
|
cucumber (3.1.0)
|
24
23
|
builder (>= 2.1.2)
|
@@ -37,33 +36,40 @@ GEM
|
|
37
36
|
cucumber-tag_expressions (1.1.1)
|
38
37
|
cucumber-wire (0.0.1)
|
39
38
|
diff-lcs (1.3)
|
39
|
+
domain_name (0.5.20160128)
|
40
|
+
unf (>= 0.0.5, < 1.0.0)
|
40
41
|
ffi (1.9.18)
|
41
42
|
gherkin (5.0.0)
|
42
43
|
gli (2.17.1)
|
43
|
-
|
44
|
+
http-cookie (1.0.2)
|
45
|
+
domain_name (~> 0.5)
|
46
|
+
mime-types (2.99)
|
44
47
|
multi_json (1.13.1)
|
45
48
|
multi_test (0.1.2)
|
46
|
-
|
47
|
-
coderay (~> 1.1.0)
|
48
|
-
method_source (~> 0.8.1)
|
49
|
-
slop (~> 3.4)
|
49
|
+
netrc (0.11.0)
|
50
50
|
rake (12.3.0)
|
51
51
|
rdoc (6.0.1)
|
52
|
+
rest-client (1.8.0)
|
53
|
+
http-cookie (>= 1.0.2, < 2.0)
|
54
|
+
mime-types (>= 1.16, < 3.0)
|
55
|
+
netrc (~> 0.7)
|
52
56
|
rspec-expectations (3.7.0)
|
53
57
|
diff-lcs (>= 1.2.0, < 2.0)
|
54
58
|
rspec-support (~> 3.7.0)
|
55
59
|
rspec-support (3.7.0)
|
56
|
-
slop (3.6.0)
|
57
60
|
thor (0.20.0)
|
61
|
+
unf (0.1.4)
|
62
|
+
unf_ext
|
63
|
+
unf_ext (0.0.7.2)
|
58
64
|
|
59
65
|
PLATFORMS
|
60
66
|
ruby
|
61
67
|
|
62
68
|
DEPENDENCIES
|
63
69
|
aruba
|
64
|
-
pry
|
65
70
|
rake
|
66
71
|
rdoc
|
72
|
+
rest-client
|
67
73
|
veda!
|
68
74
|
|
69
75
|
BUNDLED WITH
|
data/README.md
CHANGED
@@ -20,11 +20,11 @@ This will generate three files in the folder containing the viewcontroller.swift
|
|
20
20
|
|
21
21
|
Add files to your xcode project.
|
22
22
|
|
23
|
-
|
23
|
+
[Add files to your project like this](https://lh3.googleusercontent.com/yfMZKNaGzODzaQRtyGwUPJpRrhohbxheezgS04VRUeHvq3j9OgPrHnIDC_wNQTnSpv-S03OEPISFTEEVjl6WDmx3l-bMwmi0xNTYMgR-jgvHpy4sYRxBDUsl1SiNLPFJzDgz6ZUX9GaDQpwNLSqjXq5wFTE_O4TNgha_tHr1XI3eJu39wt5EX4HMWWKefzDKaOSac5OtEGUwZ_-LTju2J-3zMyD4q2tnbQ_uv853CCUWjqjcLOQ-6zsJYH9pJkf75yNsWV9We0-9kNKwCbPrEX6x-rdPux35dNTKmz5eC6czJo8ONgsmI2trfSxTN9ZCLIJ1YJP94RwdKlY-MtWpFdjZuqA3QGzB5rFIB98NkRqHx0hKk9UxP7QBYxeWl13O-Dd_RZJSNPn4gYXfav6SJbqvwd9HUv8uKCpCGAtn0QaK9YUZ6U9qHlBPTKfd74CmHB0aY-KQ4kc99a6h-SGMH72ARlkTe83__qgQyphwuPcU6rRn36ScNSxxwGkLZzzWwNkM8t7X1Fh7OGeN9WQ1E5oNxPzzwmJiP5S8e6ep6Rm2ISA7nb8qcHdyBLEj1QIcDAaIPYaxEuHfXVOMb2HtFXjrMVNP2BUVLzTPbWk=w340-h475-no)
|
24
24
|
|
25
25
|
Add three files generated.
|
26
26
|
|
27
|
-
|
27
|
+
[Files after added.](https://lh3.googleusercontent.com/2i-K6a8L-snz5FEWeua32K3bAezDJhsHvXlLXK3sDTZsrXNYOSi7WAO14txD4aPbjI8XHs75vg5y6TCt_E1DUafbMD9-wxMAp1pvcVXt_zDJSvSJkxZmd5m0Xa8Ht-hj7PENwViavB_7QLzrLlrQ9vE4rWcvRYMYiVxO3QkdqSle_0xlm_mUwyzivZzGIazj2GD6nM88kMEBn6fCoImIxeGF8Q1C4c_aZKi_7PsBDIaKN-NS5Uz_PoVZVudt5XPIP-vhzSOmx4shZ_OajX8nctjVwVbpJdSXMCig2MSX3EAuWZlzmYxbO0viM3qmU9U75kmzgKWVsceB3Izqbv0Xh7CyHhvaS1wtEKvT48LKRzImZgsRbUqTitFwIspdJ18rfuXIodZwmquXcRu3K_YxGGXiMozdW2MnE_K780-IW6BDO786TK2ACbVLQmZY0RBxj2-AsTfwW0mhIK9gn6OLBpltF924au8U_TaTbPRVXt_2PRFCH7CspogICbP3qO8_s8_6BnS1lGv5fx_RpqmarZta6D8bsH31YGdqFKf84qHhvhlrA4f5yhtJOhe9l6v2uv8LngCf6Hz_c-bWXfsve4wBphwCdYk_StILGJg=w262-h102-no)
|
28
28
|
|
29
29
|
|
30
30
|
**At the End of Your viewcontroller, extension where function to open the qr scanner is Automatically added.**
|
data/bin/veda
CHANGED
@@ -2,7 +2,10 @@
|
|
2
2
|
require 'gli'
|
3
3
|
begin # XXX: Remove this begin/rescue before distributing your app
|
4
4
|
require 'veda'
|
5
|
-
require '
|
5
|
+
require 'qR'
|
6
|
+
# require "parser.rb"
|
7
|
+
require 'parser'
|
8
|
+
|
6
9
|
|
7
10
|
rescue LoadError
|
8
11
|
STDERR.puts "In development, you need to use `bundle exec bin/veda` to run your app"
|
@@ -13,25 +16,88 @@ end
|
|
13
16
|
|
14
17
|
include GLI::App
|
15
18
|
# inclu
|
19
|
+
subcommand_option_handling :normal
|
20
|
+
|
16
21
|
|
22
|
+
desc "Generators for swift model form json, qr scanner, and many more"
|
17
23
|
command :generate do |c|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
24
|
+
c.desc "Generates model for swift from config file or json file"
|
25
|
+
c.command :model do |m|
|
26
|
+
m.switch [:r, :realm, 'option_to_generate_models_for_realm']
|
27
|
+
m.flag [:f, :file, 'file_path_to_json']
|
28
|
+
|
29
|
+
# creates config.json
|
30
|
+
m.desc 'generates config.json file at working directory'
|
31
|
+
m.command :config do |config|
|
32
|
+
config.flag [:path, :p]
|
33
|
+
config.action do |global_options, options, args|
|
34
|
+
root = File.expand_path '../..', __FILE__ #todo make file handler class
|
35
|
+
file_name = "config.json"
|
36
|
+
src_path = root + "/lib/#{file_name}"
|
37
|
+
dest_path = Dir.pwd
|
38
|
+
if File.exist?(dest_path + "/" + "#{file_name}")
|
39
|
+
puts " #{file_name} already exists in #{dest_path }"
|
40
|
+
else
|
41
|
+
puts "creating config file in #{dest_path}"
|
42
|
+
FileUtils.cp(src_path, dest_path)
|
43
|
+
puts "created #{file_name} to #{dest_path}"
|
44
|
+
end
|
30
45
|
end
|
46
|
+
end
|
31
47
|
|
48
|
+
#create model
|
49
|
+
m.action do |global_options, options, args|
|
50
|
+
if options[:f]
|
51
|
+
filepath = options[:f]
|
52
|
+
puts filepath
|
53
|
+
if File.exist?(filepath)
|
54
|
+
puts "creating parser with file #{filepath} and #{options[:realm]}"
|
55
|
+
parser = Parser.new filepath, options[:realm]
|
56
|
+
parser.parse!
|
57
|
+
else
|
58
|
+
puts "cannot find file: #{filepath}"
|
59
|
+
puts "use: 'veda generate model config' to generate the configuration file at working directory."
|
60
|
+
end
|
61
|
+
elsif
|
62
|
+
config_path = Dir.pwd + "/" + "config.json"
|
63
|
+
if File.exist?config_path
|
64
|
+
puts "loading parser with config.json and realm = #{options[:realm]}"
|
65
|
+
parser = Parser.new config_path, options[:realm]
|
66
|
+
parser.load_from_config config_path
|
67
|
+
else
|
68
|
+
# create a parser
|
69
|
+
puts "file does not exists: #{config_path}"
|
70
|
+
puts "use: \n 'veda generate model config' \n to generate the configuration file at working directory."
|
71
|
+
end
|
72
|
+
end
|
32
73
|
end
|
33
74
|
end
|
34
75
|
|
76
|
+
c.desc 'generates qrScanner at path specified after -f flag'
|
77
|
+
c.command :qr do |q|
|
78
|
+
q.flag [:f,:filename,'file_path_for_viewcontroller']
|
79
|
+
q.action do |global_options, options, args|
|
80
|
+
path = options[:f]
|
81
|
+
if path.nil?
|
82
|
+
puts "\nERROR: No file path given. \n HINT: veda generate qr -f path_to_viewController.swift_file"
|
83
|
+
else
|
84
|
+
if File.file?(path)
|
85
|
+
generate_qr path
|
86
|
+
else
|
87
|
+
raise "#{path}. File does not exist."
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
desc 'genefates multimedia at specified path'
|
94
|
+
c.command :mm do |m|
|
95
|
+
m.action do |global_options, opotions, args|
|
96
|
+
puts 'multimedia file'
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
35
101
|
|
36
102
|
on_error do |exception|
|
37
103
|
# puts 'error occured'
|
@@ -43,7 +109,7 @@ def generate_qr path
|
|
43
109
|
qr.generate_qr path
|
44
110
|
end
|
45
111
|
|
112
|
+
def generate_multimedia
|
46
113
|
|
47
|
-
|
48
|
-
|
114
|
+
end
|
49
115
|
exit run(ARGV)
|
data/lib/Multimedia.rb
ADDED
data/lib/Qr.rb
CHANGED
@@ -39,22 +39,22 @@ module QR
|
|
39
39
|
|
40
40
|
def extension name
|
41
41
|
extension = <<-EOS
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
42
|
+
extension #{name} {
|
43
|
+
\tfunc scan() {
|
44
|
+
\t\tself.openVedaQRScanner(source: self) { (viewcontroller, string) in
|
45
|
+
\t\tlet qrString = string
|
46
|
+
\t\tprint(qrString)
|
47
|
+
\t\t}
|
48
|
+
\t}
|
49
|
+
|
50
|
+
\tfunc openVedaQRScanner(source: UIViewController, completion: @escaping (VedaQRScannerViewController, String)->()) {
|
51
|
+
\t\tif let vc = UIStoryboard(name: "VedaQR", bundle: nil).instantiateInitialViewController() as? VedaQRScannerViewController {
|
52
|
+
\t\t\tvc.onObtained = completion
|
53
|
+
\t\t\tsource.present(vc, animated: true, completion: nil)
|
54
|
+
\t\t}
|
55
|
+
\t}
|
56
|
+
}
|
57
|
+
EOS
|
58
58
|
end
|
59
59
|
end
|
60
60
|
end
|
data/lib/config.json
ADDED
data/lib/fetcher.rb
ADDED
data/lib/parser.rb
ADDED
@@ -0,0 +1,206 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'rest-client'
|
3
|
+
require 'uri'
|
4
|
+
|
5
|
+
|
6
|
+
class String
|
7
|
+
def camelize
|
8
|
+
splitted = self.split('_')
|
9
|
+
camel_text = splitted[1..-1].collect(&:capitalize).join
|
10
|
+
camel_text = splitted.first.nil? ? self : (splitted.first + camel_text)
|
11
|
+
camel_text.unHyphoniezed
|
12
|
+
end
|
13
|
+
|
14
|
+
def unHyphoniezed
|
15
|
+
splitted = self.split('-')
|
16
|
+
camel_text = splitted[1..-1].collect(&:capitalize).join
|
17
|
+
splitted.first.nil? ? self : (splitted.first + camel_text)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
class Parser
|
22
|
+
def initialize path, realm=false
|
23
|
+
json = File.read(path)
|
24
|
+
@json = JSON.parse(json)
|
25
|
+
@realm = realm
|
26
|
+
@parsed = {}
|
27
|
+
end
|
28
|
+
|
29
|
+
def load_from_config path
|
30
|
+
config = File.read(path)
|
31
|
+
config_json = JSON.parse(config)
|
32
|
+
@url = config_json["url"]
|
33
|
+
@headers = config_json["headers"]
|
34
|
+
if @url =~ URI::regexp
|
35
|
+
self.fetch!
|
36
|
+
else
|
37
|
+
puts "ERROR: URL in config.json is not valid. please add valid url."
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def fetch!
|
42
|
+
puts 'fetching'
|
43
|
+
json = RestClient.get(@url, headers = @headers)
|
44
|
+
puts 'fetched'
|
45
|
+
@json = JSON.parse(json)
|
46
|
+
self.parse!
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
def attribute_type attribute
|
51
|
+
result = ""
|
52
|
+
if attribute.is_a? String
|
53
|
+
result = "String"
|
54
|
+
elsif attribute.is_a? Integer
|
55
|
+
result = "Int"
|
56
|
+
elsif attribute.is_a? Float
|
57
|
+
result = "Double"
|
58
|
+
elsif !!attribute == attribute
|
59
|
+
result = "Bool"
|
60
|
+
end
|
61
|
+
result
|
62
|
+
end
|
63
|
+
|
64
|
+
def create_file filename, content
|
65
|
+
_filename = filename + ".swift"
|
66
|
+
File.open(_filename, "w") do |file|
|
67
|
+
file.write content
|
68
|
+
puts "created file #{_filename}"
|
69
|
+
end
|
70
|
+
# end
|
71
|
+
end
|
72
|
+
|
73
|
+
def get_attribute_literal_prefix
|
74
|
+
@realm ? "@objc dynamic " : ""
|
75
|
+
end
|
76
|
+
|
77
|
+
def get_array_attribute_literal type
|
78
|
+
@realm ? " = List<#{type.capitalize.camelize}>()" : ": [#{type.capitalize}] = []"
|
79
|
+
end
|
80
|
+
|
81
|
+
def get_array_mapping_literal type
|
82
|
+
@realm ? "(map[\"#{type}\"], ListTransform<#{type.capitalize.camelize}>())" : "map[\"#{type}\"]"
|
83
|
+
end
|
84
|
+
|
85
|
+
def generate_attributes_literals json
|
86
|
+
swiftClassAttributes = []
|
87
|
+
swiftClass = ""
|
88
|
+
if json.is_a? Hash
|
89
|
+
json.each do |key, value|
|
90
|
+
if !(value.is_a? Array) && !(value.is_a? Hash)
|
91
|
+
# string = "#{get_attribute_literal_prefix}var #{key}: #{attribute_type value} = #{default_value value}\n"
|
92
|
+
# swiftClass = swiftClass + string
|
93
|
+
attribute = Attribute.new(key, "#{attribute_type value}")
|
94
|
+
swiftClassAttributes.push(attribute)
|
95
|
+
elsif value.is_a? Hash
|
96
|
+
newSwiftClass = generate_attributes_literals value
|
97
|
+
@parsed.store(key.capitalize.camelize, newSwiftClass)
|
98
|
+
# string = "#{get_attribute_literal_prefix}var #{key}: #{key.capitalize}?\n"
|
99
|
+
# swiftClass = swiftClass + string
|
100
|
+
attribute = Attribute.new(key, "#{key}")
|
101
|
+
swiftClassAttributes.push(attribute)
|
102
|
+
elsif value.is_a? Array
|
103
|
+
if value.first.is_a? Hash
|
104
|
+
newSwiftClass = generate_attributes_literals value.first
|
105
|
+
@parsed.store(key.capitalize.camelize, newSwiftClass)
|
106
|
+
# string = "var #{key}#{get_array_attribute_literal key}\n"
|
107
|
+
# swiftClass = swiftClass + string
|
108
|
+
attribute = Attribute.new(key, "#{key}", true)
|
109
|
+
swiftClassAttributes.push(attribute)
|
110
|
+
else
|
111
|
+
# string = "var #{key}: [#{attribute_type value.first}] = []\n"
|
112
|
+
# swiftClass = swiftClass + string
|
113
|
+
attribute = Attribute.new(key, "#{attribute_type value.first}", true)
|
114
|
+
swiftClassAttributes.push(attribute)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
# swiftClass
|
120
|
+
swiftClassAttributes
|
121
|
+
end
|
122
|
+
|
123
|
+
def parse!
|
124
|
+
swiftClass = generate_attributes_literals @json
|
125
|
+
if @json.is_a? Hash
|
126
|
+
@parsed.store("Container", swiftClass)
|
127
|
+
end
|
128
|
+
|
129
|
+
@parsed.each do |class_name, attributes|
|
130
|
+
realm_funcs = <<-REALMCLASS
|
131
|
+
\t\trequired convenience init?(map: Map) {
|
132
|
+
\t\t\t\tself.init()
|
133
|
+
\t\t}
|
134
|
+
|
135
|
+
\t\toverride class func primaryKey() -> String? {
|
136
|
+
\t\t\t\t// change according to your requirement
|
137
|
+
\t\t\t\treturn "id"
|
138
|
+
\t\t}
|
139
|
+
REALMCLASS
|
140
|
+
|
141
|
+
non_realm_funcs = <<-DEFAULT
|
142
|
+
\t\tinit?(map: Map) {
|
143
|
+
\t\t\t\tself.init()
|
144
|
+
\t\t}
|
145
|
+
DEFAULT
|
146
|
+
# (map["friends"], ListTransform<User>())
|
147
|
+
attribute_literals = ""
|
148
|
+
mapping_literals = ""
|
149
|
+
attributes.each do |attribute|
|
150
|
+
attribute_literal = ""
|
151
|
+
mapping_literal = ""
|
152
|
+
if attribute.is_array
|
153
|
+
attribute_literal = "\t\tvar #{attribute.name.camelize}#{get_array_attribute_literal attribute.type}\n"
|
154
|
+
mapping_literal = "\t\t\t\t#{attribute.name.camelize} <- #{get_array_mapping_literal attribute.type}\n"
|
155
|
+
else
|
156
|
+
default_value = attribute.default_value
|
157
|
+
default_value = default_value.nil? ? "?" : " = #{default_value}"
|
158
|
+
attribute_literal = "\t\t#{get_attribute_literal_prefix}var #{attribute.name.camelize}: #{attribute.type.capitalize}#{default_value}\n"
|
159
|
+
mapping_literal = "\t\t\t\t#{attribute.name.camelize} <- map[\"#{attribute.name}\"]\n"
|
160
|
+
end
|
161
|
+
attribute_literals += attribute_literal
|
162
|
+
mapping_literals += mapping_literal
|
163
|
+
end
|
164
|
+
|
165
|
+
|
166
|
+
class_model = <<-CLASS
|
167
|
+
import ObjectMapper
|
168
|
+
import RealmSwift
|
169
|
+
|
170
|
+
class #{class_name}:#{@realm? " Object," : ""} Mappable {
|
171
|
+
#{attribute_literals}
|
172
|
+
#{@realm? realm_funcs : non_realm_funcs}
|
173
|
+
\t\tfunc mapping(map: Map) {
|
174
|
+
#{mapping_literals}
|
175
|
+
\t\t}
|
176
|
+
}\n
|
177
|
+
CLASS
|
178
|
+
create_file class_name, class_model
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
182
|
+
end
|
183
|
+
|
184
|
+
class Attribute
|
185
|
+
attr_accessor :name, :type, :is_array
|
186
|
+
def initialize name, type, is_array=false
|
187
|
+
@name = name
|
188
|
+
@type = type
|
189
|
+
@is_array = is_array
|
190
|
+
end
|
191
|
+
|
192
|
+
def default_value
|
193
|
+
result = nil
|
194
|
+
case @type
|
195
|
+
when "String"
|
196
|
+
result = "\"\""
|
197
|
+
when "Int"
|
198
|
+
result = 0
|
199
|
+
when "Double"
|
200
|
+
result = 0.0
|
201
|
+
when "Bool"
|
202
|
+
result = false
|
203
|
+
end
|
204
|
+
result
|
205
|
+
end
|
206
|
+
end
|
data/lib/veda/version.rb
CHANGED
data/veda.gemspec
CHANGED
@@ -13,7 +13,7 @@ spec = Gem::Specification.new do |s|
|
|
13
13
|
s.require_paths << 'lib'
|
14
14
|
s.has_rdoc = true
|
15
15
|
s.extra_rdoc_files = ['veda.rdoc']
|
16
|
-
s.rdoc_options << '--title' << 'veda' << '--main'
|
16
|
+
s.rdoc_options << '--title' << 'veda' << '--main' << '-ri'
|
17
17
|
s.bindir = 'bin'
|
18
18
|
s.executables << 'veda'
|
19
19
|
s.add_development_dependency('rake')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: veda-apps
|
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
|
- Shishir sapkota
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-01-
|
11
|
+
date: 2018-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -84,10 +84,14 @@ files:
|
|
84
84
|
- features/support/env.rb
|
85
85
|
- features/veda.feature
|
86
86
|
- lib/.DS_Store
|
87
|
+
- lib/Multimedia.rb
|
87
88
|
- lib/Qr.rb
|
88
89
|
- lib/VedaQRScanner/UIViewControllerExtension.swift
|
89
90
|
- lib/VedaQRScanner/VedaQR.storyboard
|
90
91
|
- lib/VedaQRScanner/VedaQRScannerViewController.swift
|
92
|
+
- lib/config.json
|
93
|
+
- lib/fetcher.rb
|
94
|
+
- lib/parser.rb
|
91
95
|
- lib/veda.rb
|
92
96
|
- lib/veda/.DS_Store
|
93
97
|
- lib/veda/version.rb
|
@@ -103,7 +107,6 @@ rdoc_options:
|
|
103
107
|
- "--title"
|
104
108
|
- veda
|
105
109
|
- "--main"
|
106
|
-
- README.rdoc
|
107
110
|
- "-ri"
|
108
111
|
require_paths:
|
109
112
|
- lib
|