OSDN Git Service

fix extend_column_name
authoryasushiito <yas@pen-chan.jp>
Thu, 6 Mar 2014 02:40:38 +0000 (11:40 +0900)
committeryasushiito <yas@pen-chan.jp>
Thu, 6 Mar 2014 02:40:38 +0000 (11:40 +0900)
1  2 
app/assets/javascripts/manifest/work/system_resources.js.coffee.erb
lib/manifest/model.rb
lib/peta/item.rb

          #  TestSpeechBalloon: 'test_speech_balloon',\r
        },\r
      },\r
++    speech_balloons: {\r
++      resource_items: {\r
++        CircleSpeechBalloon: 'circle_speech_balloon',\r
++        PlainSpeechBalloon: 'plain_speech_balloon',\r
++        SquareSpeechBalloon: 'square_speech_balloon',\r
++        #  TestSpeechBalloon: 'test_speech_balloon',\r
++      },\r
++    },\r
      writing_formats: {\r
        has_route: 0,\r
        resource_items: {\r
Simple merge
@@@ -1,6 -1,21 +1,29 @@@
  module Peta
    class Item < ActiveRecord::Base
      self.abstract_class = true
+     
+     # Dynamic ClassMethods
+     
+     def self._valid_encode_columns
+       self.my_manifest.valid_encode_columns
+     end
+     
++    def self._extend_column_name
++      self.my_manifest.extend_column_name
++    end
++    
+     def self.load_manifest
+       return nil unless self.my_manifest
+       r = self._valid_encode_columns
+       define_singleton_method("valid_encode_columns") do 
+         r
+       end
++      n = self._extend_column_name
++      define_singleton_method("extend_column_name") do 
++        n
++      end
+     end
+     
      # ClassMethods
      # class_name
      # table_name
        end
      end
      
-       Object.const_get self.extend_column
 +    def engine
++      Object.const_get self.attributes[self.extend_column_name]
++    end
++    
++    def my_engine_resource
++      Manifest.manifest.system_resources.engine_resources[self.table_name]
++    end
++    
++    def engine?
++      self.my_engine_resource.resource_items.include? self.extend_column_name
 +    end
 +    
      def extend_engine_module
 -      self.extend self.speech_balloon_template.engine_speech_balloon_module
 +      self.extend self.engine.extend_module
        self.elements.each do |element|
          element.extend_item
        end
        self.class.table_name
      end
      
-       nil
 +    def extend_column_name
++      self.class.extend_column_name
++    end
++    
+     def path_name with_engine = false
+       self.class.path_name(with_engine)
+     end
+     
+     def form_template with_engine = false
+       self.path_name(with_engine) + '/form'
      end
      
 -    def extend_column
 -      nil
 -    end
 -    
 -    def extend_item_name
 -      self.extend_column ? self.attributes[self.extend_column] : self.item_name
 -    end
 -    
      def form_name
 -      self.extend_item_name
 +      self.extend_column ? self.attributes[self.extend_column] : self.item_name
      end
      
      def valid_encode