pageify 0.0.0 → 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pageify.rb +10 -2
- data/lib/pageify/base_element.rb +17 -0
- data/lib/pageify/element.rb +11 -0
- data/lib/pageify/page.rb +9 -0
- data/lib/pageify/parse.rb +32 -0
- data/lib/pageify/string.rb +17 -0
- metadata +6 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 933c60d9aac4b48163f95855260d2a4ea1c4a7fe
|
4
|
+
data.tar.gz: 5e1ca4a1d6b4d376aec9ec70bbcebe47df7997cc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3a6bb19df51a1951882782c93acdb25b2fccc7bd2a3c8138d1d95a97c12e6ce9f1cc0f93b4e55a3fd6035b0ffbafb87c3835fc2c30b7ffd591b14c2cef92c06
|
7
|
+
data.tar.gz: adbdce79e62ac5bb94323db6a590d715673ea2974ad651be493a11c5cab12cad740e296cccd876baa3e46cfdbe0c6e26a1389061e0a1579e574aa4e7043079c2
|
data/lib/pageify.rb
CHANGED
@@ -1,5 +1,13 @@
|
|
1
|
+
require "pageify/parse"
|
2
|
+
|
1
3
|
class Pageify
|
2
|
-
def self.load
|
3
|
-
|
4
|
+
def self.load(base_dir)
|
5
|
+
base_dir.chomp! '/'
|
6
|
+
all_pages = []
|
7
|
+
Dir["#{base_dir}/**/"].each do |dir|
|
8
|
+
Dir["#{dir}/*.page"].each do |file|
|
9
|
+
all_pages << file
|
10
|
+
end
|
11
|
+
end
|
4
12
|
end
|
5
13
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
$selector
|
2
|
+
class BaseElement
|
3
|
+
attr_accessor :name,:parent
|
4
|
+
def createChild (name,selector)
|
5
|
+
child = Element.new(name,selector,self)
|
6
|
+
define_singleton_method(name) do
|
7
|
+
$selector += selector
|
8
|
+
child
|
9
|
+
end
|
10
|
+
return child
|
11
|
+
end
|
12
|
+
|
13
|
+
def build
|
14
|
+
$selector.gsub("\"","")
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
data/lib/pageify/page.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'pry'
|
2
|
+
require_relative "string"
|
3
|
+
require_relative "page"
|
4
|
+
require_relative "element"
|
5
|
+
|
6
|
+
def createPage(name)
|
7
|
+
page = Page.new(name)
|
8
|
+
define_method(name) do
|
9
|
+
$selector = ""
|
10
|
+
page
|
11
|
+
end
|
12
|
+
page
|
13
|
+
end
|
14
|
+
|
15
|
+
class Parse
|
16
|
+
def self.to_page_objects(file)
|
17
|
+
rawArray = IO.read(file).split("\n").map{|x| x.rstrip}
|
18
|
+
rawArray -= [""]
|
19
|
+
page = createPage(rawArray.shift.name)
|
20
|
+
parent = [page]
|
21
|
+
until rawArray.empty? do
|
22
|
+
thisElement = rawArray.first
|
23
|
+
nextElement = rawArray[1]
|
24
|
+
until parent.last.name().lspace < thisElement.lspace do
|
25
|
+
parent.pop
|
26
|
+
end
|
27
|
+
element = parent.last.createChild(thisElement.name,thisElement.selector)
|
28
|
+
rawArray.shift
|
29
|
+
parent << element if rawArray.any? &&thisElement.lspace < nextElement.lspace
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pageify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Deepak
|
@@ -16,6 +16,11 @@ executables: []
|
|
16
16
|
extensions: []
|
17
17
|
extra_rdoc_files: []
|
18
18
|
files:
|
19
|
+
- lib/pageify/page.rb
|
20
|
+
- lib/pageify/base_element.rb
|
21
|
+
- lib/pageify/element.rb
|
22
|
+
- lib/pageify/parse.rb
|
23
|
+
- lib/pageify/string.rb
|
19
24
|
- lib/pageify.rb
|
20
25
|
homepage: https://github.com/paramadeep/pageify
|
21
26
|
licenses:
|