Module: HumanPower

Defined in:
lib/human_power.rb,
lib/human_power/rule.rb,
lib/human_power/version.rb,
lib/human_power/generator.rb,
lib/human_power/rails/engine.rb,
lib/human_power/rails/controller.rb,
lib/generators/human_power/install_generator.rb

Defined Under Namespace

Modules: Rails Classes: Generator, InstallGenerator, Rule

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.bot_regexObject

Regular expression to match bot user agents.



28
29
30
31
32
33
# File 'lib/human_power.rb', line 28

def bot_regex
  @bot_regex ||= begin
    escaped_values = user_agents.values.map { |ua| Regexp.escape(ua) }
    /#{escaped_values.join("|")}/i
  end
end

.configure {|_self| ... } ⇒ Object

Yields a configuration block.

HumanPower.configure do |config|
  config.base_controller = MyOtherController
end

Yields:

  • (_self)

Yield Parameters:

  • _self (HumanPower)

    the object that the method was called on



13
14
15
# File 'lib/human_power.rb', line 13

def configure(&block)
  yield self
end

.is_bot?(user_agent) ⇒ Boolean

Returns true if a given user agent is a bot.

Returns:

  • (Boolean)


36
37
38
# File 'lib/human_power.rb', line 36

def is_bot?(user_agent)
  !!(user_agent =~ bot_regex)
end

.register_user_agent(key, user_agent_string) ⇒ Object

Registers a user agent.



18
19
20
# File 'lib/human_power.rb', line 18

def register_user_agent(key, user_agent_string)
  user_agents[key] = user_agent_string
end

.user_agentsObject

Hash of registered user agents.



23
24
25
# File 'lib/human_power.rb', line 23

def user_agents
  @user_agents ||= load_user_agents
end