webcomics 1.0.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/lib/comics_db.rb +13 -0
- data/lib/comics_dir.rb +78 -0
- data/lib/comics_engine.rb +46 -0
- data/lib/webcomics.rb +3 -0
- metadata +49 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3d0e9dd83fd0c119dcecca53d7444e4a35379011
|
4
|
+
data.tar.gz: bbc5b90bcb4593a1d6c74619d77e933c3f0466aa
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0b8b3a579c0ac7193224fc312e78f53fa45513096122c879bf45eb25a0b0e6504ed90ff426de03abb8a7ebc0f98d2c44da0f64442399eac9ca840f204e8399db
|
7
|
+
data.tar.gz: 6b0d955b678331e99a4a4374bb7a43d6aedf5ae3e1ee5c6c0e3bc22cc6cfc7054654d85bd74593afdf5694e444cf0a9a4246b74ed7668ad65dbe092f35aa979c
|
data/lib/comics_db.rb
ADDED
data/lib/comics_dir.rb
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
|
2
|
+
class ComicsDir
|
3
|
+
def initialize(series)
|
4
|
+
@series = series
|
5
|
+
end
|
6
|
+
|
7
|
+
def comics_entries(dir)
|
8
|
+
entries = Dir.entries(dir)
|
9
|
+
entries.delete(".")
|
10
|
+
entries.delete("..")
|
11
|
+
|
12
|
+
entries
|
13
|
+
end
|
14
|
+
|
15
|
+
def trim(entries)
|
16
|
+
trimed_entries = []
|
17
|
+
entries.each do |e|
|
18
|
+
trimed_entries.push(File.basename(e, ".*"))
|
19
|
+
end
|
20
|
+
|
21
|
+
trimed_entries
|
22
|
+
end
|
23
|
+
|
24
|
+
def directory?(dir)
|
25
|
+
File.directory?(dir)
|
26
|
+
end
|
27
|
+
|
28
|
+
def list_directories(dir)
|
29
|
+
dirs_list = []
|
30
|
+
comics_entries("#{dir}/#{@series}").each do |d|
|
31
|
+
dirs_list.push(d) if directory?("#{dir}/#{@series}/#{d}")
|
32
|
+
end
|
33
|
+
|
34
|
+
dirs_list
|
35
|
+
end
|
36
|
+
|
37
|
+
def file?(f)
|
38
|
+
File.file?(f)
|
39
|
+
end
|
40
|
+
|
41
|
+
def list_files(dir)
|
42
|
+
files_list = []
|
43
|
+
comics_entries(dir).each do |d|
|
44
|
+
files_list.push(d) if file?("#{dir}/#{d}")
|
45
|
+
end
|
46
|
+
|
47
|
+
files_list
|
48
|
+
end
|
49
|
+
|
50
|
+
def filter_alphanum_dirs(dir)
|
51
|
+
alphanum_dirs = []
|
52
|
+
list_directories(dir).each do |d|
|
53
|
+
alphanum_dirs.push(d) if d =~ /[0-9]/ && d =~ /[a-z]/ || d =~ /[A-Z]/
|
54
|
+
end
|
55
|
+
|
56
|
+
alphanum_dirs
|
57
|
+
end
|
58
|
+
|
59
|
+
def filter_alpha_dirs(dir)
|
60
|
+
alpha_dirs = []
|
61
|
+
list_directories(dir).each do |d|
|
62
|
+
alpha_dirs.push(d) if d =~ /[a-z]/ || d =~ /[A-Z]/
|
63
|
+
alpha_dirs.delete_if { |d| d =~ /[0-9]/ }
|
64
|
+
end
|
65
|
+
|
66
|
+
alpha_dirs
|
67
|
+
end
|
68
|
+
|
69
|
+
def filter_num_dirs(dir)
|
70
|
+
num_dirs = []
|
71
|
+
list_directories(dir).each do |d|
|
72
|
+
num_dirs.push(d) if d =~ /[0-9]/
|
73
|
+
num_dirs.delete_if { |d| d =~ /[a-z]/ || d =~ /[A-Z]/ }
|
74
|
+
end
|
75
|
+
|
76
|
+
num_dirs
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require_relative "comics_dir"
|
2
|
+
require_relative "comics_db"
|
3
|
+
require "fileutils"
|
4
|
+
|
5
|
+
class ComicsEngine
|
6
|
+
def initialize(table_name, assets)
|
7
|
+
@table_name = table_name
|
8
|
+
@assets = assets
|
9
|
+
@comics_dir = ComicsDir.new(@assets)
|
10
|
+
end
|
11
|
+
|
12
|
+
def dbtable_assets_match?
|
13
|
+
ComicsDB.exists?(@table_name, @assets)
|
14
|
+
end
|
15
|
+
|
16
|
+
def add_appendage
|
17
|
+
@o_assets = @assets
|
18
|
+
@assets = "#{@assets}/#{@table_name}"
|
19
|
+
end
|
20
|
+
|
21
|
+
def remove_appendage
|
22
|
+
@assets.slice(@o_assets)
|
23
|
+
end
|
24
|
+
|
25
|
+
def filter(entries)
|
26
|
+
entries.delete_if do |e|
|
27
|
+
e.include?(".") || e.include?("#")
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def assets_dirs
|
32
|
+
filter(@comics_dir.comics_entries(@assets))
|
33
|
+
end
|
34
|
+
|
35
|
+
def list_pages
|
36
|
+
img_list = []
|
37
|
+
FileUtils.cd(@assets) do
|
38
|
+
@comics_dir.comics_entries(".").each do |e|
|
39
|
+
img_list.push(e) if File.extname(e) == ".jpg" || File.extname(e) == ".png"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
img_list
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
data/lib/webcomics.rb
ADDED
metadata
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: webcomics
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ralph Desir
|
8
|
+
- Luis Ortiz
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2015-10-23 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
14
|
+
description: A gem for creating framework agnostic web comics.
|
15
|
+
email: battleroundscool@gmail.com
|
16
|
+
executables: []
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- lib/comics_db.rb
|
21
|
+
- lib/comics_dir.rb
|
22
|
+
- lib/comics_engine.rb
|
23
|
+
- lib/webcomics.rb
|
24
|
+
homepage: https://github.com/Mav7/Ruby-WebComics
|
25
|
+
licenses:
|
26
|
+
- GPLv2
|
27
|
+
metadata: {}
|
28
|
+
post_install_message:
|
29
|
+
rdoc_options: []
|
30
|
+
require_paths:
|
31
|
+
- lib
|
32
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '0'
|
37
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
requirements: []
|
43
|
+
rubyforge_project:
|
44
|
+
rubygems_version: 2.4.8
|
45
|
+
signing_key:
|
46
|
+
specification_version: 4
|
47
|
+
summary: Ruby Web comics library
|
48
|
+
test_files: []
|
49
|
+
has_rdoc:
|