Class Hobix::API
In: lib/hobix/api.rb
Parent: BaseFacet

The API facet

Methods

Public Class methods

[Source]

    # File lib/hobix/api.rb, line 21
21:     def initialize( weblog, defaults = {} )
22:         @weblog = weblog
23:     end

Public Instance methods

[Source]

    # File lib/hobix/api.rb, line 79
79:     def edit_action
80:         case @app.request_method
81:         when "GET"
82:             @weblog
83:         when "POST"
84:             config = YAML::load( @app.request_body )
85:             config.save @weblog.hobix_yaml
86:             "Weblog configuration saved."
87:         end
88:     end

[Source]

    # File lib/hobix/api.rb, line 24
24:     def get app
25:         if app.respond_to? :action_uri
26:             return true unless protect app, @weblog
27:             @app = app
28:             prefix, action, *args = app.action_uri.split( '/' )
29:             if prefix == "remote"
30:                 if respond_to? "#{ action }_action"
31:                     begin
32:                         @app.puts method( "#{ action }_action" ).call( *args ).to_yaml
33:                         return true
34:                     rescue StandardError => e
35:                         @app.puts e.to_yaml
36:                     end
37:                     return true
38:                 end
39:             end
40:         end
41:     end

[Source]

    # File lib/hobix/api.rb, line 57
57:     def list_action( *inpath )
58:         inpath = inpath.join '/'
59:         @weblog.storage.find( :all => true, :inpath => inpath )
60:     end

[Source]

    # File lib/hobix/api.rb, line 53
53:     def new_action
54:         @weblog.entry_class.new
55:     end

[Source]

    # File lib/hobix/api.rb, line 67
67:     def post_action( *id )
68:         id = id.join '/'
69:         case @app.request_method
70:         when "GET"
71:             @weblog.storage.load_entry id
72:         when "POST"
73:             entry = YAML::load( @app.request_body )
74:             @weblog.storage.save_entry id, entry
75:             "Entry successfully saved."
76:         end
77:     end

[Source]

    # File lib/hobix/api.rb, line 48
48:     def regen_action
49:         @weblog.regenerate
50:         "Regeneration complete"
51:     end

[Source]

    # File lib/hobix/api.rb, line 62
62:     def search_action( words, *inpath )
63:         inpath = inpath.join '/'
64:         @weblog.storage.find( :all => true, :inpath => inpath, :search => words.split( ',' ) )
65:     end

[Source]

    # File lib/hobix/api.rb, line 43
43:     def upgen_action
44:         @weblog.regenerate( :update )
45:         "Regeneration complete"
46:     end

[Validate]