OSDN Git Service

fix view
authoryasushiito <yas@pen-chan.jp>
Thu, 30 Jan 2014 02:05:08 +0000 (11:05 +0900)
committeryasushiito <yas@pen-chan.jp>
Thu, 30 Jan 2014 02:05:08 +0000 (11:05 +0900)
21 files changed:
app/controllers/application_controller.rb
config/environment.rb
lib/manifest.rb
lib/manifest/list.rb
lib/manifest/list/public.rb
lib/manifest/local/view.rb [new file with mode: 0644]
lib/manifest/local/view/filer.rb [moved from lib/view/filer/filer.rb with 76% similarity]
lib/manifest/local/view/filer/caption.rb [moved from lib/view/filer/caption.rb with 100% similarity]
lib/manifest/local/view/filer/caption/face.rb [moved from lib/view/filer/caption/face.rb with 100% similarity]
lib/manifest/local/view/filer/caption/link.rb [moved from lib/view/filer/caption/link.rb with 100% similarity]
lib/manifest/local/view/filer/date.rb [moved from lib/view/filer/date.rb with 100% similarity]
lib/manifest/local/view/filer/edit.rb [moved from lib/view/filer/edit.rb with 100% similarity]
lib/manifest/local/view/filer/icon.rb [moved from lib/view/filer/icon.rb with 100% similarity]
lib/manifest/local/view/filer/summary.rb [moved from lib/view/filer/summary.rb with 100% similarity]
lib/manifest/local/view/filer/symbol.rb [moved from lib/view/filer/symbol.rb with 100% similarity]
lib/manifest/local/view/filer/symbol/face.rb [moved from lib/view/filer/symbol/face.rb with 100% similarity]
lib/manifest/local/view/filer/symbol/link.rb [moved from lib/view/filer/symbol/link.rb with 100% similarity]
lib/manifest/local/view/form/form.rb [moved from lib/view/form/form.rb with 100% similarity]
lib/manifest/local/view/list/list.rb [moved from lib/view/list/list.rb with 100% similarity]
lib/manifest/local/view/profiler/profiler.rb [moved from lib/view/profiler/profiler.rb with 100% similarity]
lib/manifest/manifest.rb

index 28f9beb..680b10e 100644 (file)
@@ -109,15 +109,17 @@ class ApplicationController < ActionController::Base
   end
   
   def public_list 
-    c = Manifest.manifest.controllers[self.class.model.item_name]
-    a = c.actions[params[:action].to_s]
-    ml = Manifest.manifest.models[a.item_name].lists[a.list_name]
-    l = Manifest.manifest.lists[a.item_name][a.list_name]
-    r = l.open({:id => params}, @operators)
+    my_controller = Manifest.manifest.controllers[self.class.model.item_name]
+    my_action = my_controller.actions[params[:action].to_s]
+    my_model = Manifest.manifest.models[my_action.item_name]
+    my_model_list = my_model.lists[my_action.list_name]
+    my_list = Manifest.manifest.lists[my_action.item_name]
+    list = my_list[my_action.list_name]
+    r = list.open(@operators, {:id => params})
     @items = r.items 
     respond_to do |format|
       format.html {
-        @filer = @action.filer
+        @filer = Manifest.manifest.views[my_action.item_name].open items, operators, paginate
         render :template => 'system/filer', :locals => {
           :filer => @filer
         }
index 25c8b0a..eade980 100644 (file)
@@ -15,8 +15,8 @@ require 'owner'
 require 'content'
 require 'element'
 require 'element_part'
-# require_dependency 'manifest'
-require_dependency 'editor/editor'
 # Initialize the rails application
 Pettanr::Application.initialize!
+require_dependency 'manifest'
+require_dependency 'editor/editor'
 Manifest.manifest.init
index a1975c5..64b54ea 100644 (file)
@@ -8,6 +8,7 @@ require_dependency "manifest/filer"
 require_dependency "manifest/form"
 require_dependency "manifest/list"
 require_dependency "manifest/system_resources"
+require_dependency "manifest/local/view"
 Manifest::load JSON.parse(open(File.expand_path('../../public/manifest.json', __FILE__)).read)
 
 Manifest.manifest.init
index 557a4dd..1d48022 100644 (file)
@@ -26,7 +26,7 @@ module Manifest
           raise "undefined type for lists > #{item_name} > #{list_name}\n" unless type
           my_class = @@types[type]
           raise "undefined class for lists > #{item_name} > #{list_name} > #{type}\n" unless my_class
-          my_class.new(manifest, item_name, list_name, my_manifest)
+          lists[list_name] = my_class.new(manifest, item_name, list_name, my_manifest)
         }
         lists
       end
index 767299c..749f54a 100644 (file)
@@ -29,6 +29,11 @@ module Manifest
       def order
         @model.list_order
       end
+      
+      def items options, offset, page_size
+        @model.where(self.where()).includes(self.includes).order(self.order).offset(offset).limit(page_size)
+      end
+      
     end
     
   end
diff --git a/lib/manifest/local/view.rb b/lib/manifest/local/view.rb
new file mode 100644 (file)
index 0000000..aa1c7f1
--- /dev/null
@@ -0,0 +1,14 @@
+require_dependency "manifest/local/view/filer"
+module Manifest
+  class View
+    attr :manifest, 
+      :filers, :caption, :summary, :icon, :date, :edit
+    def initialize manifest
+      @manifest = manifest
+      @filers = ViewModule::Filer.manager(@manifest.filers)
+    end
+    
+  end
+  
+end
+
similarity index 76%
rename from lib/view/filer/filer.rb
rename to lib/manifest/local/view/filer.rb
index ccd856c..044a391 100644 (file)
@@ -1,7 +1,43 @@
-  class FilerView
+require_dependency "manifest/local/view/filer/symbol"
+require_dependency "manifest/local/view/filer/caption"
+require_dependency "manifest/local/view/filer/summary"
+require_dependency "manifest/local/view/filer/icon"
+require_dependency "manifest/local/view/filer/date"
+require_dependency "manifest/local/view/filer/edit"
+module Manifest
+  module ViewModule
+    class FilerManager
+      include FilerModule
+      def self.manager filers
+        filer_views = {}
+        filers.each {|item_name, filer_manifest|
+          filer_views[item_name] = self.new(filer_manifest)
+        }
+        filer_views
+      end
+      
+      attr :manifest, 
+        :symbol, :caption, :summary, :icon, :date, :edit
+      def initialize filer_manifest
+        @filer_manifest = filer_manifest
+        @symbol = Symbol.new @filer_manifest.symbol
+        @caption = Caption.new @filer_manifest.caption
+        @summary = Summary.new @filer_manifest.summary
+        @icon = Icon.new @filer_manifest.icon
+        @date = Date.new @filer_manifest.date
+        @edit = Edit.new @filer_manifest.edit
+      end
+      
+      def open
+        Filer.new self, items
+      end
+      
+    end
+  end
+  class Filer
     attr :filer_manifest, :item_name, :manifest, :filer_conf, 
       :symbol, :caption, :summary, :icon, :date, :edit
-    def initialize filer_manifest, items, operators, paginate
+    def initialize filer_manager, items
       @filer_manifest = filer_manifest
       @items = items
       @file_items = @items.map {|item| 
     def render view
     end
     
-      def model_name
-        @item_name
-      end
-      
-      def model
-        model_name.classify.constantize
-      end
-      
   end
   
+end
   class FileItemView
     attr :item, :operators
     def initialize item, operators, filer_manifest
index 984233a..cc58233 100644 (file)
@@ -2,7 +2,7 @@ module Manifest
   class Manifest
     cattr_accessor :manifest
     attr :system_resources, :magic_numbers, :select_items,
-      :controllers, :models, :lists, :profilers, :filers, :forms, :lists
+      :controllers, :models, :lists, :profilers, :filers, :forms, :lists, :views
     # call me before load routes.rb
     # routes.rb needs engine_resources manifest in system_resources
     # ex. it's adding license_groups routes
@@ -13,9 +13,8 @@ module Manifest
       @select_items = @manifest['select_items']
     end
     
-    # managers can't initialize at application.rb
-    # call me after configured Rails Application
     def init
+      # managers can't initialize before load  application.rb
       return unless defined? ::Pettanr
       @controllers = Controller.manager(self, @manifest['controllers'])
       @models = Model.manager(self, @manifest['models'])
@@ -25,6 +24,7 @@ module Manifest
       @forms = Form.base_manager(self, @locals['forms'])
       @forms.merge(Form.extend_manager(self, @locals['forms']))
       @lists = List.manager(self, @locals['lists'])
+      @views = View.new self
       select_items_loader
       add_action
     end