webcomics 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|