dedalus 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e0478287f743dff77183fa294339e63c6391ae63
4
- data.tar.gz: 004fd7192a547643a9cc859e8d64b7b4a4c7cd5c
3
+ metadata.gz: a9022025c864310b9328e3e4c1a9dc4735cb884b
4
+ data.tar.gz: 0e102ca23e119b7f3a30c31a34cd1f00e4690ec9
5
5
  SHA512:
6
- metadata.gz: b7c1239ab8bb26509b2dcd82bdca36211911c3ea7bec1900e71d30fec676cbd5f6e3029a289597c9513aaa5e01a151dac19cd9004897d81ad9d469beafbc0f13
7
- data.tar.gz: e7c517a6f3d4eff49dffa45aded6b581949e9dc0fb859b6a793c2c1f842e18ad36be7d9637b018b03db8233b9f0d8fd52687d7b0b0803a2095b1e2ffe9e3ede3
6
+ metadata.gz: 9fda3c838779db5ed86226142b99fb6eacd6799c228e7452146dc29a8f60b63799d73f2721761be4ceff8f8e5bb685131ad6dd1c4acc644963679fdc452e2a13
7
+ data.tar.gz: 7318c2c200a98b671915659d78da4907938ff89c6ff1ebf520dd7b319e020370b326c72460449afdb290e547beeff6ef03ee062b8bb4402ab608bcaa58b9527c
data/bin/dedalus CHANGED
@@ -8,6 +8,7 @@ if File.directory?(File.join(root,'.git'))
8
8
  require 'dedalus'
9
9
  Dedalus::PatternLibrary::Application.kickstart!({
10
10
  setup: {
11
+ library_name: "Dedalus Pattern Library",
11
12
  module_to_search: Dedalus::PatternLibrary
12
13
  }
13
14
  })
@@ -1,8 +1,8 @@
1
1
  module Dedalus
2
2
  module Elements
3
3
  class Heading < Text
4
- def scale
5
- @scale ||= 2.4
4
+ def font
5
+ big_font
6
6
  end
7
7
 
8
8
  def padding
@@ -3,7 +3,6 @@ module Dedalus
3
3
  class Text < Dedalus::Atom
4
4
  attr_accessor :text, :scale, :padding
5
5
 
6
-
7
6
  def render(*)
8
7
  x,y = *position
9
8
  font.draw(text, x + padding, y + padding, ZOrder::Text, self.scale, self.scale)
@@ -7,6 +7,14 @@ module Dedalus
7
7
  @active_view ||= nil
8
8
  end
9
9
 
10
+ class FontRepository
11
+ def self.get_font(size: 20)
12
+ @fonts ||= {}
13
+ @fonts[size] ||= Gosu::Font.new(size)
14
+ @fonts[size]
15
+ end
16
+ end
17
+
10
18
  class Element
11
19
  attr_accessor :position
12
20
 
@@ -41,7 +49,15 @@ module Dedalus
41
49
  end
42
50
 
43
51
  def font
44
- view.font
52
+ FontRepository.get_font(size: 20)
53
+ end
54
+
55
+ def big_font
56
+ FontRepository.get_font(size: 36)
57
+ end
58
+
59
+ def huge_font
60
+ FontRepository.get_font(size: 120)
45
61
  end
46
62
 
47
63
  def window
@@ -9,16 +9,16 @@ module Dedalus
9
9
  view.click
10
10
  end
11
11
 
12
- def setup(module_to_search:)
13
- create_library(module_to_search)
12
+ def setup(module_to_search:, library_name:)
13
+ create_library(name: library_name, module_to_search: module_to_search)
14
14
  end
15
15
 
16
16
  def find_descendants_of(klass, module_to_search)
17
17
  ObjectSpace.each_object(Class).select { |k| k < klass && find_descendants_of(k, module_to_search).count.zero? && k.name.deconstantize == module_to_search.name }
18
18
  end
19
19
 
20
- def create_library(module_to_search)
21
- library = Library.create(name: "Dedalus Pattern Library")
20
+ def create_library(module_to_search:, name:)
21
+ library = Library.create(name: name)
22
22
 
23
23
  atom_section = library.create_library_section(
24
24
  name: "Atoms",
@@ -54,15 +54,19 @@ module Dedalus
54
54
  name: "Templates",
55
55
  icon: :hive,
56
56
  color: 'blue',
57
- about: "Assembled screens with placeholders"})
58
-
59
- template_section.create_library_item({
60
- name: "Library Template",
61
- item_class_name: 'Dedalus::PatternLibrary::ApplicationTemplate',
62
- description: "ui library app template",
63
- example_data: ApplicationTemplate.example_data
57
+ about: "Assembled screens with placeholders"
64
58
  })
65
59
 
60
+ template_classes = find_descendants_of(Dedalus::Template, module_to_search)
61
+ template_section.build_items_from_classes(template_classes, kind: 'template')
62
+
63
+ # template_section.create_library_item({
64
+ # name: "Library Template",
65
+ # item_class_name: 'Dedalus::PatternLibrary::ApplicationTemplate',
66
+ # description: "ui library app template",
67
+ # example_data: ApplicationTemplate.example_data
68
+ # })
69
+
66
70
  # just manually create a view from models for now...
67
71
  library_data = serialize_library(library)
68
72
  library_view = LibraryView.create(library_data)
@@ -0,0 +1,9 @@
1
+ module Dedalus
2
+ module PatternLibrary
3
+ class HugeText < Dedalus::Elements::Heading
4
+ def font
5
+ huge_font
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Dedalus
2
+ module PatternLibrary
3
+ class LargeText < Dedalus::Elements::Heading
4
+ def font
5
+ big_font
6
+ end
7
+ end
8
+ end
9
+ end
@@ -37,9 +37,9 @@ module Dedalus
37
37
 
38
38
  def self.example_data
39
39
  {
40
- name: "Paragraph",
41
- description: "fake library item molecule",
42
- item_class_name: 'Dedalus::Elements::Paragraph',
40
+ name: "Huge Text",
41
+ description: "(fake library item molecule)",
42
+ item_class_name: 'Dedalus::PatternLibrary::HugeText',
43
43
  item_data: { text: "Hi there!" },
44
44
  color: 'red', #Palette.red,
45
45
  kind: 'Atom'
@@ -37,7 +37,7 @@ module Dedalus
37
37
  end
38
38
 
39
39
  def title_element
40
- Elements::Heading.new(text: name, scale: 1.8 + scale)
40
+ LargeText.new(text: name)
41
41
  end
42
42
 
43
43
  def description_element
@@ -8,7 +8,8 @@ module Dedalus
8
8
 
9
9
  def show
10
10
  [
11
- Elements::Heading.new(text: abbreviation, scale: 6.0 * scale),
11
+ HugeText.new(text: abbreviation, scale: scale),
12
+ #Elements::Heading.new(text: abbreviation, scale: 6.0 * scale),
12
13
  Elements::Paragraph.new(text: element_name, scale: scale),
13
14
  Elements::Paragraph.new(text: kind, scale: 0.6 * scale)
14
15
  ]
@@ -35,15 +36,15 @@ module Dedalus
35
36
  end
36
37
 
37
38
  def padding
38
- 20 * scale
39
+ 30 * scale
39
40
  end
40
41
 
41
42
  def width
42
- 230 * scale
43
+ 280 * scale
43
44
  end
44
45
 
45
46
  def height
46
- 250 * scale
47
+ 300 * scale
47
48
  end
48
49
 
49
50
  def background_color
@@ -34,6 +34,10 @@ module Dedalus
34
34
  }
35
35
  end
36
36
 
37
+ def self.description
38
+ "pattern library template"
39
+ end
40
+
37
41
  private
38
42
  def library_page
39
43
  if current_section
@@ -1 +1,24 @@
1
+ require 'dedalus/pattern_library/models/library'
2
+ require 'dedalus/pattern_library/models/library_section'
3
+ require 'dedalus/pattern_library/models/library_item'
1
4
 
5
+ require 'dedalus/pattern_library/atoms/large_text'
6
+ require 'dedalus/pattern_library/atoms/huge_text'
7
+ require 'dedalus/pattern_library/molecules/library_section_tab'
8
+ # require 'dedalus/pattern_library/molecules/library_item_molecule'
9
+ require 'dedalus/pattern_library/molecules/library_item_example'
10
+ require 'dedalus/pattern_library/molecules/periodic_table_entry'
11
+ require 'dedalus/pattern_library/molecules/periodic_table'
12
+
13
+ require 'dedalus/pattern_library/organisms/app_header'
14
+ require 'dedalus/pattern_library/organisms/app_footer'
15
+ require 'dedalus/pattern_library/organisms/app_sidebar'
16
+ require 'dedalus/pattern_library/organisms/library_entry'
17
+
18
+ require 'dedalus/pattern_library/templates/app_template'
19
+
20
+ require 'dedalus/pattern_library/screens/app_screen'
21
+
22
+ require 'dedalus/pattern_library/library_view'
23
+ require 'dedalus/pattern_library/application_view'
24
+ require 'dedalus/pattern_library/application'
@@ -1,4 +1,4 @@
1
1
  module Dedalus
2
2
  # dedalus version
3
- VERSION = "0.1.2"
3
+ VERSION = "0.2.0"
4
4
  end
data/lib/dedalus.rb CHANGED
@@ -16,25 +16,3 @@ require 'dedalus/elements/image'
16
16
  require 'dedalus/elements/icon'
17
17
 
18
18
  require 'dedalus/pattern_library'
19
- require 'dedalus/pattern_library/models/library'
20
- require 'dedalus/pattern_library/models/library_section'
21
- require 'dedalus/pattern_library/models/library_item'
22
-
23
- require 'dedalus/pattern_library/molecules/library_section_tab'
24
- # require 'dedalus/pattern_library/molecules/library_item_molecule'
25
- require 'dedalus/pattern_library/molecules/library_item_example'
26
- require 'dedalus/pattern_library/molecules/periodic_table_entry'
27
- require 'dedalus/pattern_library/molecules/periodic_table'
28
-
29
- require 'dedalus/pattern_library/organisms/app_header'
30
- require 'dedalus/pattern_library/organisms/app_footer'
31
- require 'dedalus/pattern_library/organisms/app_sidebar'
32
- require 'dedalus/pattern_library/organisms/library_entry'
33
-
34
- require 'dedalus/pattern_library/templates/app_template'
35
-
36
- require 'dedalus/pattern_library/screens/app_screen'
37
-
38
- require 'dedalus/pattern_library/library_view'
39
- require 'dedalus/pattern_library/application_view'
40
- require 'dedalus/pattern_library/application'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dedalus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joseph Weissman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-27 00:00:00.000000000 Z
11
+ date: 2016-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: joyce
@@ -175,6 +175,8 @@ files:
175
175
  - lib/dedalus/pattern_library.rb
176
176
  - lib/dedalus/pattern_library/application.rb
177
177
  - lib/dedalus/pattern_library/application_view.rb
178
+ - lib/dedalus/pattern_library/atoms/huge_text.rb
179
+ - lib/dedalus/pattern_library/atoms/large_text.rb
178
180
  - lib/dedalus/pattern_library/library_view.rb
179
181
  - lib/dedalus/pattern_library/models/library.rb
180
182
  - lib/dedalus/pattern_library/models/library_item.rb