English 中文(简体)
• 如何书写标签模式?
原标题:How to write a Validator Pattern?

我很想知道,如何在铁路设计上建造一个比拉,以取代开关/包裹。

switch (needle) {
        case  hello  :
            // some operation
            return "something"
            break;

        case  world  :
            // some operation
            return "something"
            break;

        default :
            return "default";
            break;
    }

我指的是代表有效者的不同班级。 是否有这样的模式?

class hello
  def validate
    // validate something
  end
 def execute
    // do something
  end
end

class world
  def validate
    // validate something
  end
 def execute
    // do something
  end
end

class implementation
  def main
    validate(hello, world)
  end
end
问题回答

您可以做这样的事情:

class MyClass
  def my_method my_valitation_str
    validator = Validator.from_str validation_str
    validator.validate
  end

  class Validator
    class Hello
      def self.str
        "hello"
      end
      def validate
         ... the hello validation code
      end
    end
    class World
      def self.str
        "world"
      end
      def validate
         ... the hello validation code
      end
    end
    def self.validator_types
      [Hello, World]
    end

    def self.from_str val_str
      validator_types.select{|t| t.str == val_str}.first
    end
  end
end

选修课是完全可以选择的。

但在大多数情况下,你不需要使用班级。 认证员级可以是单元。 并从中直接回归模块。

实际上,如果“有效日期”是指在MyClass案上运行,那么,如果你可以将这一类别延伸到返回单元......





相关问题
rails collection_select vs. select

collection_select and select Rails helpers: Which one should I use? I can t see a difference in both ways. Both helpers take a collection and generates options tags inside a select tag. Is there a ...

SSL slowness in EC2

We ve deployed our rails app to EC2. In our setup, we have two proxies on small instances behind round-robin DNS. These run nginx load balancers for a dynamically growing and shrinking farm of web ...

Auth-code with A-Za-z0-9 to use in an URL parameter

As part of a web application I need an auth-code to pass as a URL parameter. I am currently using (in Rails) : Digest::SHA1.hexdigest((object_id + rand(255)).to_s) Which provides long strings like : ...

RubyCAS-Client question: Rails

I ve installed RubyCAS-Client version 2.1.0 as a plugin within a rails app. It s working, but I d like to remove the ?ticket= in the url. Is this possible?

activerecord has_many :through find with one sql call

I have a these 3 models: class User < ActiveRecord::Base has_many :permissions, :dependent => :destroy has_many :roles, :through => :permissions end class Permission < ActiveRecord::...

Ordering a hash to xml: Rails

I m building an xml document from a hash. The xml attributes need to be in order. How can this be accomplished? hash.to_xml

Text Editor for Ruby-on-Rails

guys which text editor is good for Rubyonrails? i m using Windows and i was using E-Texteditor but its not free n its expired now can anyone plese tell me any free texteditor? n which one is best an ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...

热门标签