Skip to content

Commit

Permalink
Follow curly naming conventions
Browse files Browse the repository at this point in the history
  • Loading branch information
teliosdev committed Nov 22, 2014
1 parent 866fadc commit 5496628
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 31 deletions.
24 changes: 15 additions & 9 deletions lib/curly/presenter.rb
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,11 @@ def description
components = result[:components] = []

available_components.each do |component|
data = { name: component, type: "", parameters: [] }
data = { name: component,
type: "",
keywords: [],
identifier: nil,
block: false }

if component.end_with?("?")
data[:type] = "conditional"
Expand All @@ -251,24 +255,26 @@ def description
when :keyreq
add[:type] = "keyword"
add[:required] = true
when :req
add[:type] = "normal"
add[:required] = true
when :key
add[:type] = "keyword"
add[:required] = false
when :req
data[:identifier] = add
add[:required] = true
add = nil
when :opt
add[:type] = "normal"
add[:required] = false
data[:identifier] = add
add[:required] = false
add = nil
when :block
add[:type] = "block"
add[:required] = false
data[:block] = add[:name]
add = nil
else
add[:type] = "unknown"
add[:required] = false
end

data[:parameters] << add
data[:keywords] << add if add
end

components << data
Expand Down
75 changes: 53 additions & 22 deletions spec/presenter_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def monkey

attr_reader :midget, :clown, :elephant

def alpha(name, age = 12)
def alpha(name, age: 12)
name
end

Expand Down Expand Up @@ -142,27 +142,58 @@ class CircusPresenter::MonkeyPresenter < Curly::Presenter

description[:components].should have(9).items
description[:components].should == [
{ name: "midget", type: "value", parameters: [] },
{ name: "clown", type: "value", parameters: [] },
{ name: "elephant", type: "value", parameters: [] },

{ name: "alpha", type: "value", parameters: [
{ name: "name", type: "normal", required: true },
{ name: "age", type: "normal", required: false }
]},

{ name: "beta", type: "value", parameters: [
{ name: "test", type: "keyword", required: true },
{ name: "this", type: "keyword", required: false }
]},

{ name: "charlie", type: "value", parameters: [
{ name: "test", type: "block", required: false }
]},

{ name: "delta?", type: "conditional", parameters: [] },
{ name: "cats", type: "collection", parameters: [] },
{ name: "monkey", type: "context", parameters: [] }
{ name: "midget",
type: "value",
keywords: [],
identifier: nil,
block: false },
{ name: "clown",
type: "value",
keywords: [],
identifier: nil,
block: false },
{ name: "elephant",
type: "value",
keywords: [],
identifier: nil,
block: false },

{ name: "alpha",
type: "value",
keywords: [
{ name: "age", type: "keyword", required: false }],
identifier: { name: "name", required: true },
block: false },

{ name: "beta",
type: "value",
keywords: [
{ name: "test", type: "keyword", required: true },
{ name: "this", type: "keyword", required: false }],
identifier: nil,
block: false },

{ name: "charlie",
type: "value",
keywords: [],
identifier: nil,
block: "test" },

{ name: "delta?",
type: "conditional",
keywords: [],
identifier: nil,
block: false },
{ name: "cats",
type: "collection",
keywords: [],
identifier: nil,
block: false },
{ name: "monkey",
type: "context",
keywords: [],
identifier: nil,
block: false }
]
end
end
Expand Down

0 comments on commit 5496628

Please sign in to comment.