text:
require File.expand_path(File.join(fixtures_path, 'entities', 'rainbow_loom'))

describe Bumbleworks::Process do
  before :each do
    Bumbleworks::Ruote.register_participants
    Bumbleworks.start_worker!

    Bumbleworks.define_process 'food_is_an_illusion' do
      noop :tag => 'oh_boy_are_we_hungry'
      concurrence do
        admin :task => 'eat_a_hat'
        hatter :task => 'weep'
        wait '40m'
      end
    end

    Bumbleworks.define_process 'going_to_the_dance' do
      concurrence do
        wait_for_event :an_invitation
        await :left_tag => 'a_friend'
        await :participant => 'some_darling_cat'
      end
    end
    Bumbleworks.define_process 'straightening_the_rocks' do
      concurrence do
        wait_for_event :rock_caliper_delivery
        wait_for_event :speedos
        wait '15m'
        every '20m' do
          magician :task => 'fancy_rabbit_maneuvers'
        end
      end
    end
    Bumbleworks.define_process 'i_wait_for_nobody' do
      tough_guy :task => 'blow_this_thing_wide_open'
    end
  end

  it_behaves_like "comparable" do
    subject { described_class.new('watchful_egret') }
    let(:other) { described_class.new('lets_dance_yo') }
  end

  describe '.all' do
    it 'returns sorted and filtered array of instances for all processes' do
      expect(described_class).to receive(:ids).with(:some_options).and_return([:a, :b, :c])
      expect(described_class.all(:some_options)).to eq [
        Bumbleworks::Process.new(:a),
        Bumbleworks::Process.new(:b),
        Bumbleworks::Process.new(:c)
      ]
    end
  end

  describe '.ids' do
    before(:each) do
      bp1 = Bumbleworks.launch!('going_to_the_dance')
      bp2 = Bumbleworks.launch!('going_to_the_dance')
      bp3 = Bumbleworks.launch!('going_to_the_dance')
      bp4 = Bumbleworks.launch!('going_to_the_dance')
      bp5 = Bumbleworks.launch!('straightening_the_rocks')
      @sorted_processes = [bp1, bp2, bp3, bp4, bp5].sort
      wait_until { Bumbleworks.dashboard.process_wfids.count == 5 }
    end

    it 'returns all process wfids' do
      expect(described_class.ids).to eq(@sorted_processes.map(&:wfid))
    end

    it 'allows pagination options' do
      expect(described_class.ids(:limit => 2)).to eq(@sorted_processes[0, 2].map(&:wfid))
      expect(described_class.ids(:offset => 2)).to eq(@sorted_processes[2, 5].map(&:wfid))
      expect(described_class.ids(:limit => 2, :offset => 1)).to eq(@sorted_processes[1, 2].map(&:wfid))
    end

    it 'allows reverse order' do
      expect(described_class.ids(:reverse => true)).to eq(@sorted_processes.reverse.map(&:wfid))
    end

    it 'allows combined reverse and pagination' do
      expect(described_class.ids(:reverse => true, :limit => 2)).to eq(@sorted_processes.reverse[0, 2].map(&:wfid))
      expect(described_class.ids(:reverse => true, :offset => 2)).to eq(@sorted_processes.reverse[2, 5].map(&:wfid))
      expect(described_class.ids(:reverse => true, :limit => 2, :offset => 1)).to eq(@sorted_processes.reverse[1, 2].map(&:wfid))
    end
  end

  describe '.count' do
    it 'returns number of processes' do
      allow(described_class).to receive(:ids).and_return([:a, :b, :c, :d])
      expect(described_class.count).to eq(4)
    end
  end

  describe '.new' do
    it 'sets workflow id' do
      bp = described_class.new('apples')
      expect(bp.id).to eq('apples')
    end
  end

  describe '#wfid' do
    it 'is aliased to id' do
      bp = described_class.new('smorgatoof')
      expect(bp.wfid).to eq('smorgatoof')
    end
  end

  describe '#errors' do
    it 'returns all process errors as ErrorRecord instances' do
      Bumbleworks.define_process 'error_process' do
        concurrence do
          error 'first error'
          error 'second error'
        end
      end
      bp = Bumbleworks.launch!('error_process')
      Bumbleworks.dashboard.wait_for('error_intercepted')
      errors = bp.errors
      expect(errors.map(&:class).uniq).to eq([
        Bumbleworks::Process::ErrorRecord
      ])
      expect(errors.map(&:message)).to match_array([
        'first error',
        'second error'
      ])
    end
  end

  describe '#workitems' do
    it 'returns array of workitems from each leaf' do
      bp = described_class.new('chumpy')
      l1 = double(:workitem => 'w1')
      l2 = double(:workitem => 'w2')
      l3 = double(:workitem => 'w3')
      allow(bp).to receive_messages(:leaves => [l1, l2, l3])
      expect(bp.workitems).to eq(['w1','w2','w3'])
    end
  end

  it_behaves_like "an entity holder" do
    let(:entity_workitem) { Bumbleworks::Workitem.new(:fake_workitem) }
    let(:holder) {
      holder = described_class.new('nothing')
      allow(holder).to receive_messages(:entity_workitem => entity_workitem)
      holder
    }
    let(:storage_workitem) { entity_workitem }
  end

  describe '#expressions' do
    it 'returns all expressions as array of Expression instances' do
      bp = Bumbleworks.launch!('food_is_an_illusion')
      Bumbleworks.dashboard.wait_for(:admin)
      expect(bp.expressions.map(&:expid)).to eq [
        '0', '0_1', '0_1_0', '0_1_1', '0_1_2'
      ]
      expect(bp.expressions.map(&:class).uniq).to eq [
        Bumbleworks::Expression
      ]
    end
  end

  describe '#definition_name' do
    it 'returns the name of the process definition' do
      bp = Bumbleworks.launch!('i_wait_for_nobody')
      wait_until { bp.reload.tasks.count == 1 }
      bp_reloaded = described_class.new(bp.wfid)
      expect(bp_reloaded.definition_name).to eq 'i_wait_for_nobody'
    end
  end

  describe '#expression_at_position' do
    before(:each) do
      @bp = Bumbleworks.launch!('food_is_an_illusion')
      Bumbleworks.dashboard.wait_for(:admin)
    end

    it 'returns the expression whose expid matches the given position' do
      expression = @bp.expression_at_position('0_1_0')
      expect(expression).to be_a Bumbleworks::Expression
      expect(expression.expid).to eq '0_1_0'
    end

    it 'returns nil if no expression at given position' do
      expect(@bp.expression_at_position('0_2_1')).to be_nil
    end
  end

  describe '#leaves' do
    it 'returns only expressions being worked on' do
      bp = Bumbleworks.launch!('food_is_an_illusion')
      Bumbleworks.dashboard.wait_for(:admin)
      expect(bp.leaves.map(&:expid)).to eq [
        '0_1_0', '0_1_1', '0_1_2'
      ]
      expect(bp.leaves.map(&:class).uniq).to eq [
        Bumbleworks::Expression
      ]
    end
  end

  describe '#entity_workitem' do
    it 'returns first workitem from workitems array, if no entity fields conflict' do
      bp = described_class.new('nothing')
      w1 = double(:entity_fields => :some_fields)
      w2 = double(:entity_fields => :some_fields)
      allow(bp).to receive_messages(:workitems => [w1, w2])
      expect(bp.entity_workitem).to eq(w1)
    end

    it 'returns nil if no process' do
      bp = described_class.new('nothing')
      expect(bp.entity_workitem).to be_nil
    end

    it 'returns workitem with entity reference from process launch' do
      rainbow_loom = RainbowLoom.new('1234')
      bp = Bumbleworks.launch!('going_to_the_dance', :entity => rainbow_loom)
      wait_until { bp.reload.trackers.count > 0 }
      ew = bp.entity_workitem
      expect(ew.entity).to eq(rainbow_loom)
    end

    it 'raises exception if multiple workitems have conflicting entity info' do
      Bumbleworks.define_process 'conflict_this' do
        concurrence do
          sequence do
            set 'entity_id' => 'swoo'
            just_wait
          end
          sequence do
            set 'entity_id' => 'fwee'
            just_wait
          end
        end
      end
      bp = Bumbleworks.launch!('conflict_this', :entity => RainbowLoom.new('1234'))
      Bumbleworks.dashboard.wait_for(:just_wait)
      expect {
        bp.entity_workitem
      }.to raise_error(Bumbleworks::Process::EntityConflict)
    end
  end

  describe '#entity' do
    it 'bubbles EntityConflict from entity_workitem' do
      bp = described_class.new('whatever')
      allow(bp).to receive(:entity_workitem).and_raise(Bumbleworks::Process::EntityConflict)
      expect {
        bp.entity
      }.to raise_error(Bumbleworks::Process::EntityConflict)
    end
  end

  describe '#tasks' do
    it 'returns task query filtered for this process' do
      bp = described_class.new('chumpy')
      allow(Bumbleworks::Task).to receive(:for_process).with('chumpy').and_return(:my_task_query)
      expect(bp.tasks).to eq(:my_task_query)
    end
  end

  describe '#schedules' do
    it 'returns array of all schedules for this process' do
      bp1 = Bumbleworks.launch!('food_is_an_illusion')
      bp2 = Bumbleworks.launch!('straightening_the_rocks')
      wait_until { bp1.reload.schedules.count == 1 && bp2.reload.schedules.count == 2 }
      expect(bp1.schedules.map { |s| s.process }).to eq([bp1])
      expect(bp2.schedules.map { |s| s.process }).to eq([bp2, bp2])
      expect(bp1.schedules.map { |s| s.original_plan }).to eq(['40m'])
      expect(bp2.schedules.map { |s| s.original_plan }).to eq(['15m', '20m'])
      expect(bp2.schedules.map { |s| s.repeating? }).to eq([false, true])
    end
  end

  describe '#trackers' do
    it 'lists all trackers this process is waiting on' do
      bp1 = Bumbleworks.launch!('going_to_the_dance')
      bp2 = Bumbleworks.launch!('straightening_the_rocks')
      wait_until { bp1.reload.trackers.count == 3 && bp2.reload.trackers.count == 2 }
      expect(bp1.trackers.map { |t| t.process }).to eq([bp1, bp1, bp1])
      expect(bp2.trackers.map { |t| t.process }).to eq([bp2, bp2])
      expect(bp1.trackers.map { |t| t.action }).to eq(['left_tag', 'left_tag', 'dispatch'])
      expect(bp2.trackers.map { |t| t.action }).to eq(['left_tag', 'left_tag'])
      expect(bp1.trackers.map { |t| t.conditions['tag'] }).to eq([['an_invitation'], ['a_friend'], nil])
      expect(bp2.trackers.map { |t| t.conditions['tag'] }).to eq([['rock_caliper_delivery'], ['speedos']])
    end
  end

  describe '#all_subscribed_tags' do
    it 'lists all tags this process is waiting on' do
      bp1 = Bumbleworks.launch!('going_to_the_dance')
      bp2 = Bumbleworks.launch!('straightening_the_rocks')
      wait_until { bp1.reload.trackers.count == 3 && bp2.reload.trackers.count == 2 }
      expect(bp1.all_subscribed_tags).to eq({ :global => ['an_invitation'], bp1.wfid => ['a_friend'] })
      expect(bp2.all_subscribed_tags).to eq({ :global => ['rock_caliper_delivery', 'speedos'] })
    end

    it 'sets global tags to empty array by default' do
      bp = Bumbleworks.launch!('i_wait_for_nobody')
      wait_until { bp.reload.tasks.count == 1 }
      expect(bp.all_subscribed_tags).to eq({ :global => [] })
    end
  end

  describe '#subscribed_events' do
    it 'lists all events (global tags) this process is waiting on' do
      bp1 = Bumbleworks.launch!('going_to_the_dance')
      bp2 = Bumbleworks.launch!('straightening_the_rocks')
      wait_until { bp1.reload.trackers.count == 3 && bp2.reload.trackers.count == 2 }
      expect(bp1.subscribed_events).to eq(['an_invitation'])
      expect(bp2.subscribed_events).to eq(['rock_caliper_delivery', 'speedos'])
    end

    it 'returns empty array if no global tags' do
      bp = Bumbleworks.launch!('i_wait_for_nobody')
      wait_until { bp.reload.tasks.count == 1 }
      expect(bp.subscribed_events).to eq([])
    end
  end

  describe '#is_waiting_for?' do
    it 'returns true if event is in subscribed events' do
      bp = described_class.new('whatever')
      allow(bp).to receive_messages(:subscribed_events => ['ghosts', 'mouses'])
      expect(bp.is_waiting_for?('mouses')).to be_truthy
    end

    it 'converts symbolized queries' do
      bp = described_class.new('whatever')
      allow(bp).to receive_messages(:subscribed_events => ['ghosts', 'mouses'])
      expect(bp.is_waiting_for?(:ghosts)).to be_truthy
    end

    it 'returns false if event is not in subscribed events' do
      bp = described_class.new('whatever')
      allow(bp).to receive_messages(:subscribed_events => ['ghosts', 'mouses'])
      expect(bp.is_waiting_for?('organs')).to be_falsy
    end
  end

  describe '#kill!' do
    it 'kills process' do
      bp = described_class.new('frogheads')
      expect(Bumbleworks).to receive(:kill_process!).with('frogheads', :an => :option)
      bp.kill!(:an => :option)
    end
  end

  describe '#cancel!' do
    it 'cancels process' do
      bp = described_class.new('frogheads')
      expect(Bumbleworks).to receive(:cancel_process!).with('frogheads', :an => :option)
      bp.cancel!(:an => :option)
    end
  end

  describe '#==' do
    it 'returns true if other object has same wfid' do
      bp1 = described_class.new('in_da_sky')
      bp2 = described_class.new('in_da_sky')
      expect(bp1).to eq(bp2)
    end

    it 'returns false if other object is not a process' do
      bp1 = described_class.new('in_da_sky')
      bp2 = double('not a process')
      expect(bp1).not_to eq(bp2)
    end
  end

  describe '#<=>' do
    it 'compares processes by wfid' do
      bp1 = described_class.new(1)
      bp2 = described_class.new(2)
      bp3 = described_class.new(1)
      expect(bp1 <=> bp2).to eq -1
      expect(bp2 <=> bp3).to eq 1
      expect(bp3 <=> bp1).to eq 0
    end

    it 'raises ArgumentError if other object is not a process' do
      bp1 = described_class.new('in_da_sky')
      bp2 = double('not a process')
      expect { bp1 <=> bp2 }.to raise_error(ArgumentError, "comparison of Bumbleworks::Process with RSpec::Mocks::Double failed")
    end
  end

  describe '#running?' do
    it 'returns true if process_status returns something' do
      subject = described_class.new('frogheads')
      allow(subject).to receive(:process_status).and_return(:the_status)
      expect(subject.running?).to be_truthy
    end

    it 'returns false if process_status is nil' do
      subject = described_class.new('frogheads')
      allow(subject).to receive(:process_status).and_return(nil)
      expect(subject.running?).to be_falsy
    end
  end

  describe '#process_status' do
    it 'returns a process_status instance for the wfid' do
      bp = described_class.new('frogheads')
      allow(Bumbleworks.dashboard).to receive(:process).with('frogheads').and_return(:the_status)
      expect(bp.process_status).to eq(:the_status)
    end
  end

  describe '#method_missing' do
    it 'calls method on object returned by #process_status' do
      ps = double('process_status')
      allow(ps).to receive(:nuffle).with(:yay).and_return(:its_a_me)
      bp = described_class.new('frogheads')
      allow(bp).to receive_messages(:process_status => ps)
      expect(bp.nuffle(:yay)).to eq(:its_a_me)
    end

    it 'falls back to method missing if no process status method' do
      bp = described_class.new('blah')
      allow(bp).to receive_messages(:process_status => double('process status'))
      expect {
        bp.kerplunk!(:oh_no)
      }.to raise_error(NoMethodError)
    end
  end
end


text:
package com.riskvis.db.service.impl;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.riskvis.db.dao.IQuestsDAO;
import com.riskvis.db.service.IQuestsService;
import com.riskvis.entity.Quests;

/**
 * @author machadolucas
 *
 */
@Transactional(readOnly = true)
public class QuestsService implements IQuestsService {

	IQuestsDAO questsDAO;

	/**
	 * Add Quests
	 *
	 * @param Quests
	 *            quests
	 */
	@Transactional(readOnly = false)
	@Override
	public void addQuests(Quests quests) {
		getQuestsDAO().addQuests(quests);
	}

	/**
	 * Delete Quests
	 *
	 * @param Quests
	 *            quests
	 */
	@Transactional(readOnly = false)
	@Override
	public void deleteQuests(Quests quests) {
		getQuestsDAO().deleteQuests(quests);
	}

	/**
	 * Update Quests
	 *
	 * @param Quests
	 *            quests
	 */
	@Transactional(readOnly = false)
	@Override
	public void updateQuests(Quests quests) {
		getQuestsDAO().updateQuests(quests);
	}

	/**
	 * Get Quests
	 *
	 * @param int Quests Id
	 */
	@Override
	public Quests getQuestsById(int id) {
		return getQuestsDAO().getQuestsById(id);
	}

	/**
	 * Get Quests List
	 *
	 */
	@Override
	public List<Quests> getQuestss() {
		return getQuestsDAO().getQuestss();
	}

	/**
	 * Get amount of quests
	 *
	 */
	@Override
	public int getCount() {
		return getQuestsDAO().getCount();
	}

	/**
	 * Get Quests DAO
	 *
	 * @return IQuestsDAO - Quests DAO
	 */
	public IQuestsDAO getQuestsDAO() {
		return questsDAO;
	}

	/**
	 * Set Quests DAO
	 *
	 * @param IQuestsDAO
	 *            - Quests DAO
	 */
	public void setQuestsDAO(IQuestsDAO questsDAO) {
		this.questsDAO = questsDAO;
	}

}

redpajama_set_name: RedPajamaGithub


text:
// 'use strict';

// angular
//     .module('lmDirectives')
//     .directive('lmWrite', function() {
//         return {
//             restrict: 'E',
//             link: function(scope, element, attrs) {
//                 /* jshint evil: true */

//                 var oldWrite = document.write;
//                 document.write = function (str) {
//                     element.html(str);
//                 };

//                 var s = document.createElement('script');
//                 s.src = attrs.src;
//                 s.onload = function() {
//                     document.write = oldWrite;
//                     element.addClass('loaded');
//                 };
//                 element.append(s);
//             }
//         };
//     });


text:
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [6.2.8](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.2.7...@crave/farmblocks-amount-selectors@6.2.8) (2022-03-09)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [6.2.7](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.2.6...@crave/farmblocks-amount-selectors@6.2.7) (2022-02-10)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [6.2.6](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.2.5...@crave/farmblocks-amount-selectors@6.2.6) (2022-01-05)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [6.2.5](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.2.4...@crave/farmblocks-amount-selectors@6.2.5) (2021-08-11)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [6.2.4](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.2.3...@crave/farmblocks-amount-selectors@6.2.4) (2021-07-26)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [6.2.3](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.2.2...@crave/farmblocks-amount-selectors@6.2.3) (2021-07-26)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [6.2.2](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.2.1...@crave/farmblocks-amount-selectors@6.2.2) (2021-07-23)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [6.2.1](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.2.0...@crave/farmblocks-amount-selectors@6.2.1) (2021-07-07)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

# [6.2.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.1.7...@crave/farmblocks-amount-selectors@6.2.0) (2021-04-29)

### Features

* use new sm icons ([0b15177](https://github.com/CraveFood/farmblocks/commit/0b1517742f0a69c50a407eb9d81072c0a89ea192))

## [6.1.7](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.1.6...@crave/farmblocks-amount-selectors@6.1.7) (2021-04-19)

### Bug Fixes

* bump object.values version ([2fb1bcc](https://github.com/CraveFood/farmblocks/commit/2fb1bcc0ffe8df470d726cc168c7f36974dd7628))
* use new react-spring api ([1a89779](https://github.com/CraveFood/farmblocks/commit/1a89779920c9634c4f6a8b114b458d8dba2e72e8))

## [6.1.6](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.1.5...@crave/farmblocks-amount-selectors@6.1.6) (2021-02-17)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [6.1.5](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.1.4...@crave/farmblocks-amount-selectors@6.1.5) (2021-02-11)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [6.1.4](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.1.3...@crave/farmblocks-amount-selectors@6.1.4) (2020-10-29)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [6.1.3](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.1.2...@crave/farmblocks-amount-selectors@6.1.3) (2020-10-21)

### Bug Fixes

* **constants:** named exports ([b26b409](https://github.com/CraveFood/farmblocks/commit/b26b40974c07b25d7e73cb336962a061a93f02eb))

## [6.1.2](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.1.1...@crave/farmblocks-amount-selectors@6.1.2) (2020-09-10)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [6.1.1](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.1.0...@crave/farmblocks-amount-selectors@6.1.1) (2020-09-09)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

# [6.1.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@6.0.0...@crave/farmblocks-amount-selectors@6.1.0) (2020-09-04)

### Features

* **amount-selectors:** update button ([df905ab](https://github.com/CraveFood/farmblocks/commit/df905ab92644e51fa40f847d341a0d3167e6fccc))

# [6.0.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@5.0.0...@crave/farmblocks-amount-selectors@6.0.0) (2020-07-28)

### Bug Fixes

* **AmountSelectors:** remove browser validation ([ba61d00](https://github.com/CraveFood/farmblocks/commit/ba61d00cbfd6ae8c42c7d72a141c9517ce860a1a))

### BREAKING CHANGES

* **AmountSelectors:** This component no longer expects enforceStep property

# [5.0.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@4.0.0...@crave/farmblocks-amount-selectors@5.0.0) (2020-07-15)

### Bug Fixes

* **amount-selectors:** disable auto control focus style on input when disableTyping is  true ([2b62faa](https://github.com/CraveFood/farmblocks/commit/2b62faa639f7582e69b9175dbe4640622cada939))

### Features

* **amount-selectors:** refactor component to work with new hoc-input ([3554442](https://github.com/CraveFood/farmblocks/commit/3554442fe193425a0aa1ec03e7a8cb303e344968))

### BREAKING CHANGES

* **amount-selectors:** this component no longer expects size and showBoundariesMessageOnlyOnFocus properties.
decreaseButton and increaveButton class names have been renamed to button-decreaseand
button-increase

# [4.0.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@3.0.5...@crave/farmblocks-amount-selectors@4.0.0) (2020-07-14)

### Features

* **icon:** move to peerDependencies in dependant packages ([701ad3f](https://github.com/CraveFood/farmblocks/commit/701ad3f427a1d757e7f069a8ec2419c3e3ba290e)), closes [#993](https://github.com/CraveFood/farmblocks/issues/993)

### BREAKING CHANGES

* **icon:** farmblocks-icon is now a peer dependency

## [3.0.5](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@3.0.4...@crave/farmblocks-amount-selectors@3.0.5) (2020-07-08)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [3.0.4](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@3.0.3...@crave/farmblocks-amount-selectors@3.0.4) (2020-06-30)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [3.0.3](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@3.0.2...@crave/farmblocks-amount-selectors@3.0.3) (2020-06-25)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [3.0.2](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@3.0.1...@crave/farmblocks-amount-selectors@3.0.2) (2020-05-14)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [3.0.1](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@3.0.0...@crave/farmblocks-amount-selectors@3.0.1) (2020-05-13)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

# [3.0.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.14...@crave/farmblocks-amount-selectors@3.0.0) (2020-03-31)

### Features

* **amount-selector:** add removable option and style ([56609c3](https://github.com/CraveFood/farmblocks/commit/56609c3fa9b2f2c465dbfa3ac61432ea2e5dc0ce)), closes [#974](https://github.com/CraveFood/farmblocks/issues/974)
* **amount-selectors:** change component style ([66d89af](https://github.com/CraveFood/farmblocks/commit/66d89afd82f72924d6764a8479745941d621a92c))

### BREAKING CHANGES

* **amount-selectors:** changes were made on buttons and text input

## [2.7.14](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.13...@crave/farmblocks-amount-selectors@2.7.14) (2020-03-06)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.7.13](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.12...@crave/farmblocks-amount-selectors@2.7.13) (2020-02-28)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.7.12](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.11...@crave/farmblocks-amount-selectors@2.7.12) (2020-02-04)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.7.11](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.10...@crave/farmblocks-amount-selectors@2.7.11) (2020-01-28)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.7.10](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.9...@crave/farmblocks-amount-selectors@2.7.10) (2020-01-15)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.7.9](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.8...@crave/farmblocks-amount-selectors@2.7.9) (2020-01-08)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.7.8](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.7...@crave/farmblocks-amount-selectors@2.7.8) (2020-01-03)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.7.7](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.6...@crave/farmblocks-amount-selectors@2.7.7) (2019-12-27)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.7.6](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.5...@crave/farmblocks-amount-selectors@2.7.6) (2019-12-18)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.7.5](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.4...@crave/farmblocks-amount-selectors@2.7.5) (2019-12-03)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.7.4](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.3...@crave/farmblocks-amount-selectors@2.7.4) (2019-11-28)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.7.3](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.2...@crave/farmblocks-amount-selectors@2.7.3) (2019-11-27)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.7.2](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.1...@crave/farmblocks-amount-selectors@2.7.2) (2019-11-27)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.7.1](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.7.0...@crave/farmblocks-amount-selectors@2.7.1) (2019-11-26)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

# [2.7.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.6.0...@crave/farmblocks-amount-selectors@2.7.0) (2019-11-19)

### Features

* **amount-selectors:** use new icons ([37ce7ce](https://github.com/CraveFood/farmblocks/commit/37ce7ced1f64a7ba2f3d56d47a5a534636f56a3b))

# [2.6.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.5.4...@crave/farmblocks-amount-selectors@2.6.0) (2019-11-13)

### Features

* **sidenav:** export package components ([1ab6c94](https://github.com/CraveFood/farmblocks/commit/1ab6c9446fd65e17f0c8acd5396b8bd967e5ef2d))

## [2.5.4](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.5.3...@crave/farmblocks-amount-selectors@2.5.4) (2019-10-31)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.5.3](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.5.2...@crave/farmblocks-amount-selectors@2.5.3) (2019-10-23)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.5.2](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.5.1...@crave/farmblocks-amount-selectors@2.5.2) (2019-10-18)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.5.1](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.5.0...@crave/farmblocks-amount-selectors@2.5.1) (2019-10-01)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

# [2.5.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.4.4...@crave/farmblocks-amount-selectors@2.5.0) (2019-10-01)

### Features

* **AmountSelectors:** add tooltip when user types a value above the maximum amount allowed ([b78968b](https://github.com/CraveFood/farmblocks/commit/b78968b))

## [2.4.4](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.4.3...@crave/farmblocks-amount-selectors@2.4.4) (2019-09-18)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.4.3](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.4.2...@crave/farmblocks-amount-selectors@2.4.3) (2019-09-17)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.4.2](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.4.1...@crave/farmblocks-amount-selectors@2.4.2) (2019-09-16)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.4.1](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.4.0...@crave/farmblocks-amount-selectors@2.4.1) (2019-09-10)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

# [2.4.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.3.9...@crave/farmblocks-amount-selectors@2.4.0) (2019-09-05)

### Features

* **amount-selectors:** add disabled property ([ebcafcf](https://github.com/CraveFood/farmblocks/commit/ebcafcf)), closes [#893](https://github.com/CraveFood/farmblocks/issues/893)

## [2.3.9](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.3.8...@crave/farmblocks-amount-selectors@2.3.9) (2019-08-09)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.3.8](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.3.7...@crave/farmblocks-amount-selectors@2.3.8) (2019-08-05)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.3.7](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.3.6...@crave/farmblocks-amount-selectors@2.3.7) (2019-07-24)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.3.6](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.3.5...@crave/farmblocks-amount-selectors@2.3.6) (2019-07-19)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.3.5](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.3.4...@crave/farmblocks-amount-selectors@2.3.5) (2019-07-18)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.3.4](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.3.3...@crave/farmblocks-amount-selectors@2.3.4) (2019-07-09)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.3.3](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.3.2...@crave/farmblocks-amount-selectors@2.3.3) (2019-06-25)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.3.2](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.3.1...@crave/farmblocks-amount-selectors@2.3.2) (2019-06-11)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.3.1](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.3.0...@crave/farmblocks-amount-selectors@2.3.1) (2019-05-31)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

# [2.3.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.2.6...@crave/farmblocks-amount-selectors@2.3.0) (2019-04-25)

### Features

* **amount-selectors:** make it extendable by styled() ([83f50d9](https://github.com/CraveFood/farmblocks/commit/83f50d9))

## [2.2.6](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.2.5...@crave/farmblocks-amount-selectors@2.2.6) (2019-04-24)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.2.5](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.2.4...@crave/farmblocks-amount-selectors@2.2.5) (2019-04-10)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.2.4](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.2.3...@crave/farmblocks-amount-selectors@2.2.4) (2019-04-03)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.2.3](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.2.2...@crave/farmblocks-amount-selectors@2.2.3) (2019-03-21)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.2.2](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.2.1...@crave/farmblocks-amount-selectors@2.2.2) (2019-03-08)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.2.1](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.2.0...@crave/farmblocks-amount-selectors@2.2.1) (2019-03-07)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

# [2.2.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.1.1...@crave/farmblocks-amount-selectors@2.2.0) (2019-02-18)

### Features

* **package.json:** update react and related packages ([b34fbee](https://github.com/CraveFood/farmblocks/commit/b34fbee)), closes [#693](https://github.com/CraveFood/farmblocks/issues/693)

## [2.1.1](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.1.0...@crave/farmblocks-amount-selectors@2.1.1) (2019-02-13)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

# [2.1.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.0.11...@crave/farmblocks-amount-selectors@2.1.0) (2019-01-14)

### Features

* updated all dependencies to their latest versions ([908663c](https://github.com/CraveFood/farmblocks/commit/908663c)), closes [#667](https://github.com/CraveFood/farmblocks/issues/667)

## [2.0.11](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.0.10...@crave/farmblocks-amount-selectors@2.0.11) (2019-01-03)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.0.10](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.0.9...@crave/farmblocks-amount-selectors@2.0.10) (2018-12-17)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.0.9](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.0.8...@crave/farmblocks-amount-selectors@2.0.9) (2018-12-14)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.0.8](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.0.7...@crave/farmblocks-amount-selectors@2.0.8) (2018-12-12)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.0.7](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.0.6...@crave/farmblocks-amount-selectors@2.0.7) (2018-12-12)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.0.6](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.0.5...@crave/farmblocks-amount-selectors@2.0.6) (2018-11-29)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.0.5](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.0.4...@crave/farmblocks-amount-selectors@2.0.5) (2018-11-21)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.0.4](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.0.3...@crave/farmblocks-amount-selectors@2.0.4) (2018-11-08)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.0.3](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.0.2...@crave/farmblocks-amount-selectors@2.0.3) (2018-11-08)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.0.2](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.0.1...@crave/farmblocks-amount-selectors@2.0.2) (2018-10-30)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [2.0.1](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@2.0.0...@crave/farmblocks-amount-selectors@2.0.1) (2018-10-30)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

# [2.0.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.35...@crave/farmblocks-amount-selectors@2.0.0) (2018-10-29)

### Features

* **package.json:** upgrade styled-components to v4 ([b5c195a](https://github.com/CraveFood/farmblocks/commit/b5c195a)), closes [#592](https://github.com/CraveFood/farmblocks/issues/592)
* **update styled-components:** update peer dependency for all packages ([ae80edf](https://github.com/CraveFood/farmblocks/commit/ae80edf))

### BREAKING CHANGES

* **update styled-components:** Requires React ^v16.6.0

## [1.0.35](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.34...@crave/farmblocks-amount-selectors@1.0.35) (2018-10-26)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.34](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.33...@crave/farmblocks-amount-selectors@1.0.34) (2018-10-26)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.33](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.32...@crave/farmblocks-amount-selectors@1.0.33) (2018-10-23)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.32](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.31...@crave/farmblocks-amount-selectors@1.0.32) (2018-10-23)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.31](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.30...@crave/farmblocks-amount-selectors@1.0.31) (2018-10-19)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.30](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.29...@crave/farmblocks-amount-selectors@1.0.30) (2018-10-17)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.29](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.28...@crave/farmblocks-amount-selectors@1.0.29) (2018-10-03)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.28](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.27...@crave/farmblocks-amount-selectors@1.0.28) (2018-09-28)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.27](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.26...@crave/farmblocks-amount-selectors@1.0.27) (2018-09-27)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.26](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.25...@crave/farmblocks-amount-selectors@1.0.26) (2018-09-26)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.25](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.24...@crave/farmblocks-amount-selectors@1.0.25) (2018-09-25)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.24](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.23...@crave/farmblocks-amount-selectors@1.0.24) (2018-09-24)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.23](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.22...@crave/farmblocks-amount-selectors@1.0.23) (2018-09-20)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.22](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.21...@crave/farmblocks-amount-selectors@1.0.22) (2018-09-20)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.21](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.20...@crave/farmblocks-amount-selectors@1.0.21) (2018-09-20)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.20](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.19...@crave/farmblocks-amount-selectors@1.0.20) (2018-09-19)

### Bug Fixes

* updated styled-components to 3.4.9 peer-dependency on all packages ([c648df4](https://github.com/CraveFood/farmblocks/commit/c648df4))

## [1.0.19](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.18...@crave/farmblocks-amount-selectors@1.0.19) (2018-09-18)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.18](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.17...@crave/farmblocks-amount-selectors@1.0.18) (2018-09-18)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.17](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.16...@crave/farmblocks-amount-selectors@1.0.17) (2018-09-18)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.16](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.15...@crave/farmblocks-amount-selectors@1.0.16) (2018-09-17)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.15](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.14...@crave/farmblocks-amount-selectors@1.0.15) (2018-09-17)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.14](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.13...@crave/farmblocks-amount-selectors@1.0.14) (2018-09-17)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.13](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.12...@crave/farmblocks-amount-selectors@1.0.13) (2018-09-14)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.12](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.11...@crave/farmblocks-amount-selectors@1.0.12) (2018-08-14)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.11](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.10...@crave/farmblocks-amount-selectors@1.0.11) (2018-08-13)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.10](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.9...@crave/farmblocks-amount-selectors@1.0.10) (2018-08-09)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.9](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.8...@crave/farmblocks-amount-selectors@1.0.9) (2018-08-08)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.8](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.7...@crave/farmblocks-amount-selectors@1.0.8) (2018-08-08)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.7](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.6...@crave/farmblocks-amount-selectors@1.0.7) (2018-08-01)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.6](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.5...@crave/farmblocks-amount-selectors@1.0.6) (2018-08-01)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.5](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.4...@crave/farmblocks-amount-selectors@1.0.5) (2018-07-31)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.4](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.3...@crave/farmblocks-amount-selectors@1.0.4) (2018-07-25)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.3](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.2...@crave/farmblocks-amount-selectors@1.0.3) (2018-07-20)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.2](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.1...@crave/farmblocks-amount-selectors@1.0.2) (2018-07-19)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [1.0.1](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@1.0.0...@crave/farmblocks-amount-selectors@1.0.1) (2018-07-19)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

# [1.0.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.5.13...@crave/farmblocks-amount-selectors@1.0.0) (2018-07-18)

### Bug Fixes

* **AmountSelector:** let formInput hoc handle number input type css ([91f38b1](https://github.com/CraveFood/farmblocks/commit/91f38b1))

### Code Refactoring

* **AmountSelectors:** remove size property passed to InputText ([c699107](https://github.com/CraveFood/farmblocks/commit/c699107))

### BREAKING CHANGES

* **AmountSelectors:** size=4 property has been removed

## [0.5.13](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.5.12...@crave/farmblocks-amount-selectors@0.5.13) (2018-07-12)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [0.5.12](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.5.11...@crave/farmblocks-amount-selectors@0.5.12) (2018-07-12)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [0.5.11](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.5.10...@crave/farmblocks-amount-selectors@0.5.11) (2018-07-10)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [0.5.10](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.5.9...@crave/farmblocks-amount-selectors@0.5.10) (2018-07-09)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [0.5.9](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.5.8...@crave/farmblocks-amount-selectors@0.5.9) (2018-07-06)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [0.5.8](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.5.7...@crave/farmblocks-amount-selectors@0.5.8) (2018-07-03)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [0.5.7](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.5.6...@crave/farmblocks-amount-selectors@0.5.7) (2018-06-22)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [0.5.6](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.5.5...@crave/farmblocks-amount-selectors@0.5.6) (2018-06-20)

### Bug Fixes

* **AmountSelectors:** render initial value even though its value is out of range ([bd036ff](https://github.com/CraveFood/farmblocks/commit/bd036ff)), closes [#412](https://github.com/CraveFood/farmblocks/issues/412)

## [0.5.5](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.5.4...@crave/farmblocks-amount-selectors@0.5.5) (2018-06-20)

### Bug Fixes

* **AmountSelector:** fix initial render ([8c0fe49](https://github.com/CraveFood/farmblocks/commit/8c0fe49)), closes [#409](https://github.com/CraveFood/farmblocks/issues/409)
* **AmountSelectors:** send value with 2 decimal places ([83d1ca9](https://github.com/CraveFood/farmblocks/commit/83d1ca9)), closes [#409](https://github.com/CraveFood/farmblocks/issues/409)

## [0.5.4](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.5.3...@crave/farmblocks-amount-selectors@0.5.4) (2018-06-18)

**Note:** Version bump only for package @crave/farmblocks-amount-selectors

## [0.5.3](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.5.2...@crave/farmblocks-amount-selectors@0.5.3) (2018-06-15)

### Bug Fixes

* **amount-selector:** update input value when prop is set after mount ([fadb825](https://github.com/CraveFood/farmblocks/commit/fadb825))

## [0.5.2](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.5.1...@crave/farmblocks-amount-selectors@0.5.2) (2018-06-15)

### Bug Fixes

* **Amount Selectors:** parse value to number in onChange function ([21f7117](https://github.com/CraveFood/farmblocks/commit/21f7117)), closes [#397](https://github.com/CraveFood/farmblocks/issues/397)

## [0.5.1](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.5.0...@crave/farmblocks-amount-selectors@0.5.1) (2018-06-12)

### Bug Fixes

* **stories:** the second argument of storiesOf shouldnt be a string ([ea2bbee](https://github.com/CraveFood/farmblocks/commit/ea2bbee))

# [0.5.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.4.1...@crave/farmblocks-amount-selectors@0.5.0) (2018-06-12)

### Bug Fixes

* **amount-selector:** remove Firefox default :invalid styles for the amount selector input ([313612f](https://github.com/CraveFood/farmblocks/commit/313612f))
* **amount-selector:** remove hardcoded tooltip and use browser provided validationMessage for toolti ([2e1495e](https://github.com/CraveFood/farmblocks/commit/2e1495e))

### Features

* **amount-selector:** disable both buttons if the browser validation fails for the typed value ([b41cab9](https://github.com/CraveFood/farmblocks/commit/b41cab9))
* **amount-selector:** include option to use step mismatch validation from browser ([fb72b5e](https://github.com/CraveFood/farmblocks/commit/fb72b5e))

## [0.4.1](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.4.0...@crave/farmblocks-amount-selectors@0.4.1) (2018-06-08)

### Bug Fixes

* **amount-selector:** fix value visibility on Firefox ([511bbe7](https://github.com/CraveFood/farmblocks/commit/511bbe7)), closes [#377](https://github.com/CraveFood/farmblocks/issues/377)

# [0.4.0](https://github.com/CraveFood/farmblocks/compare/@crave/farmblocks-amount-selectors@0.3.0...@crave/farmblocks-amount-selectors@0.4.0) (2018-05-24)

### Features

* **Amount-selectors:** export selectorSizes constants ([66c6eee](https://github.com/CraveFood/farmblocks/commit/66c6eee)), closes [#372](https://github.com/CraveFood/farmblocks/issues/372)

# 0.3.0 (2018-05-23)

### Bug Fixes

* **amount-selector:** style adjusts ([6313c0e](https://github.com/CraveFood/farmblocks/commit/6313c0e))
* **Amount-selector:** prevent an empty value to trigger an invalid value message ([7b07315](https://github.com/CraveFood/farmblocks/commit/7b07315))

### Features

* **Amount Selectors:** initial files ([9734b4d](https://github.com/CraveFood/farmblocks/commit/9734b4d)), closes [#341](https://github.com/CraveFood/farmblocks/issues/341)
* **amount-selector:** format value to fixed 2 after button click or onblur ([38a8381](https://github.com/CraveFood/farmblocks/commit/38a8381))
* **amount-selector:** treat out of range values ([dd19ed3](https://github.com/CraveFood/farmblocks/commit/dd19ed3))

# 0.2.0 (2018-05-22)

### Bug Fixes

* **amount-selector:** style adjusts ([59dc549](https://github.com/CraveFood/farmblocks/commit/59dc549))
* **Amount-selector:** prevent an empty value to trigger an invalid value message ([24fa470](https://github.com/CraveFood/farmblocks/commit/24fa470))

### Features

* **Amount Selectors:** initial files ([9734b4d](https://github.com/CraveFood/farmblocks/commit/9734b4d)), closes [#341](https://github.com/CraveFood/farmblocks/issues/341)
* **amount-selector:** format value to fixed 2 after button click or onblur ([2230330](https://github.com/CraveFood/farmblocks/commit/2230330))


text:
using NUnit.Framework;
using NUnit3Migration.Processors;
using System.Threading.Tasks;

namespace NUnit3Migration.Tests.Processors
{
    internal class TestCaseSourceAttributeProcessorTests
    {
        [TestCase(
            @"
            public IEnumerable GetTestCases() { return null; }
            [TestCaseSource(""GetTestCases"")]
            public string DoTest() {}",
            @"
            public static IEnumerable GetTestCases() { return null; }
            [TestCaseSource(""GetTestCases"")]
            public string DoTest() {}")]
        [TestCase(
            @"
            public IEnumerable TheTestCases;
            [TestCaseSource(""TheTestCases"")]
            public string DoTest() {}",
            @"
            public static IEnumerable TheTestCases;
            [TestCaseSource(""TheTestCases"")]
            public string DoTest() {}")]
        [TestCase(
            @"
            public static IEnumerable TheTestCases;
            [TestCaseSource(""TheTestCases"")]
            public string DoTest() {}",
            @"
            public static IEnumerable TheTestCases;
            [TestCaseSource(""TheTestCases"")]
            public string DoTest() {}")]
        [TestCase(
            @"
            public IEnumerable GetTestCases { get { return null; } }
            [TestCaseSource(""GetTestCases"")]
            public string DoTest() {}",
            @"
            public static IEnumerable GetTestCases { get { return null; } }
            [TestCaseSource(""GetTestCases"")]
            public string DoTest() {}")]
        public async Task Process_TestCaseSourceString_AssociatedElementIsConvertedToStatic(
            string initialCode, string expectedTransformedCode)
        {
            string transformedString = await Program.Process(new[] { new TestCaseSourceAttributeProcessor() }, initialCode);

            Assert.AreEqual(expectedTransformedCode, transformedString);
        }
    }
}


text:
/* jshint asi:true */

'use strict'

var lib = require('../index')
var minimist = require('minimist')

var expand = lib.expand(minimist)
var cli = lib.plugins(expand)

// run:
// node examples/expand-plugin.js --set=foo:bar
cli(process.argv.slice(2))

console.log('options', cli.options)
console.log('argv', cli.argv)


text:
package com.wpaper.controller;

import com.greenhat.ioc.annotation.Autowired;
import com.greenhat.ioc.annotation.Controller;
import com.greenhat.ioc.annotation.Mapping;
import com.greenhat.mvc.bean.Param;
import com.greenhat.mvc.request.RequestMethod;
import com.wpaper.constant.LogAction;
import com.wpaper.entity.Admin;
import com.wpaper.service.AdminService;
import com.wpaper.service.LogService;
import com.wpaper.util.RequestUtil;

import javax.servlet.http.HttpServletRequest;

/**
 * Created by jiacheng on 2017/8/22.
 */
@Controller
public class AdminController {

    @Autowired
    private AdminService adminService;
    @Autowired
    private LogService logService;

    @Mapping(value = "/admin/login",method = RequestMethod.post)
    public Admin login(Param param, HttpServletRequest request){
        String username = param.getString("username");
        String password = param.getString("password");
        String ip = RequestUtil.getIp(request);
        Admin admin =adminService.login(username,password,ip);
        logService.save(LogAction.LOGIN.toString(),param.getMap().toString(),ip,admin.getUsername(),admin.getId());
        return admin;
    }

    @Mapping(value = "/admin/initAdmin",method = RequestMethod.post)
    public Admin init(Param param){
        String username = param.getString("username");
        String password = param.getString("password");
        String email = param.getString("email");
        String homeUrl = param.getString("homeUrl");
        return adminService.save(username,password,email,homeUrl);
    }
}


text:
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/pubsub/v1/pubsub.proto

package com.google.pubsub.v1;

public interface SubscriptionOrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:google.pubsub.v1.Subscription)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   *

   * Required. The name of the subscription. It must have the format
   * `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
   * start with a letter, and contain only letters (`[A-Za-z]`), numbers
   * (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
   * plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
   * in length, and it must not start with `"goog"`.
   *

   *
   * string name = 1 [(.google.api.field_behavior) = REQUIRED];
   *
   * @return The name.
   */
  java.lang.String getName();
  /**
   *
   *
   *

   * Required. The name of the subscription. It must have the format
   * `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
   * start with a letter, and contain only letters (`[A-Za-z]`), numbers
   * (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
   * plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
   * in length, and it must not start with `"goog"`.
   *

   *
   * string name = 1 [(.google.api.field_behavior) = REQUIRED];
   *
   * @return The bytes for name.
   */
  com.google.protobuf.ByteString getNameBytes();

  /**
   *
   *
   *

   * Required. The name of the topic from which this subscription is receiving
   * messages. Format is `projects/{project}/topics/{topic}`. The value of this
   * field will be `_deleted-topic_` if the topic has been deleted.
   *

   *
   *
   * string topic = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
   *
   *
   * @return The topic.
   */
  java.lang.String getTopic();
  /**
   *
   *
   *

   * Required. The name of the topic from which this subscription is receiving
   * messages. Format is `projects/{project}/topics/{topic}`. The value of this
   * field will be `_deleted-topic_` if the topic has been deleted.
   *

   *
   *
   * string topic = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
   *
   *
   * @return The bytes for topic.
   */
  com.google.protobuf.ByteString getTopicBytes();

  /**
   *
   *
   *

   * If push delivery is used with this subscription, this field is
   * used to configure it. Either `pushConfig` or `bigQueryConfig` can be set,
   * but not both. If both are empty, then the subscriber will pull and ack
   * messages using API methods.
   *

   *
   * .google.pubsub.v1.PushConfig push_config = 4;
   *
   * @return Whether the pushConfig field is set.
   */
  boolean hasPushConfig();
  /**
   *
   *
   *

   * If push delivery is used with this subscription, this field is
   * used to configure it. Either `pushConfig` or `bigQueryConfig` can be set,
   * but not both. If both are empty, then the subscriber will pull and ack
   * messages using API methods.
   *

   *
   * .google.pubsub.v1.PushConfig push_config = 4;
   *
   * @return The pushConfig.
   */
  com.google.pubsub.v1.PushConfig getPushConfig();
  /**
   *
   *
   *

   * If push delivery is used with this subscription, this field is
   * used to configure it. Either `pushConfig` or `bigQueryConfig` can be set,
   * but not both. If both are empty, then the subscriber will pull and ack
   * messages using API methods.
   *

   *
   * .google.pubsub.v1.PushConfig push_config = 4;
   */
  com.google.pubsub.v1.PushConfigOrBuilder getPushConfigOrBuilder();

  /**
   *
   *
   *

   * If delivery to BigQuery is used with this subscription, this field is
   * used to configure it. Either `pushConfig` or `bigQueryConfig` can be set,
   * but not both. If both are empty, then the subscriber will pull and ack
   * messages using API methods.
   *

   *
   * .google.pubsub.v1.BigQueryConfig bigquery_config = 18;
   *
   * @return Whether the bigqueryConfig field is set.
   */
  boolean hasBigqueryConfig();
  /**
   *
   *
   *

   * If delivery to BigQuery is used with this subscription, this field is
   * used to configure it. Either `pushConfig` or `bigQueryConfig` can be set,
   * but not both. If both are empty, then the subscriber will pull and ack
   * messages using API methods.
   *

   *
   * .google.pubsub.v1.BigQueryConfig bigquery_config = 18;
   *
   * @return The bigqueryConfig.
   */
  com.google.pubsub.v1.BigQueryConfig getBigqueryConfig();
  /**
   *
   *
   *

   * If delivery to BigQuery is used with this subscription, this field is
   * used to configure it. Either `pushConfig` or `bigQueryConfig` can be set,
   * but not both. If both are empty, then the subscriber will pull and ack
   * messages using API methods.
   *

   *
   * .google.pubsub.v1.BigQueryConfig bigquery_config = 18;
   */
  com.google.pubsub.v1.BigQueryConfigOrBuilder getBigqueryConfigOrBuilder();

  /**
   *
   *
   *

   * The approximate amount of time (on a best-effort basis) Pub/Sub waits for
   * the subscriber to acknowledge receipt before resending the message. In the
   * interval after the message is delivered and before it is acknowledged, it
   * is considered to be <i>outstanding</i>. During that time period, the
   * message will not be redelivered (on a best-effort basis).
   * For pull subscriptions, this value is used as the initial value for the ack
   * deadline. To override this value for a given message, call
   * `ModifyAckDeadline` with the corresponding `ack_id` if using
   * non-streaming pull or send the `ack_id` in a
   * `StreamingModifyAckDeadlineRequest` if using streaming pull.
   * The minimum custom deadline you can specify is 10 seconds.
   * The maximum custom deadline you can specify is 600 seconds (10 minutes).
   * If this parameter is 0, a default value of 10 seconds is used.
   * For push delivery, this value is also used to set the request timeout for
   * the call to the push endpoint.
   * If the subscriber never acknowledges the message, the Pub/Sub
   * system will eventually redeliver the message.
   *

   *
   * int32 ack_deadline_seconds = 5;
   *
   * @return The ackDeadlineSeconds.
   */
  int getAckDeadlineSeconds();

  /**
   *
   *
   *

   * Indicates whether to retain acknowledged messages. If true, then
   * messages are not expunged from the subscription's backlog, even if they are
   * acknowledged, until they fall out of the `message_retention_duration`
   * window. This must be true if you would like to [`Seek` to a timestamp]
   * (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in
   * the past to replay previously-acknowledged messages.
   *

   *
   * bool retain_acked_messages = 7;
   *
   * @return The retainAckedMessages.
   */
  boolean getRetainAckedMessages();

  /**
   *
   *
   *

   * How long to retain unacknowledged messages in the subscription's backlog,
   * from the moment a message is published.
   * If `retain_acked_messages` is true, then this also configures the retention
   * of acknowledged messages, and thus configures how far back in time a `Seek`
   * can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
   * minutes.
   *

   *
   * .google.protobuf.Duration message_retention_duration = 8;
   *
   * @return Whether the messageRetentionDuration field is set.
   */
  boolean hasMessageRetentionDuration();
  /**
   *
   *
   *

   * How long to retain unacknowledged messages in the subscription's backlog,
   * from the moment a message is published.
   * If `retain_acked_messages` is true, then this also configures the retention
   * of acknowledged messages, and thus configures how far back in time a `Seek`
   * can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
   * minutes.
   *

   *
   * .google.protobuf.Duration message_retention_duration = 8;
   *
   * @return The messageRetentionDuration.
   */
  com.google.protobuf.Duration getMessageRetentionDuration();
  /**
   *
   *
   *

   * How long to retain unacknowledged messages in the subscription's backlog,
   * from the moment a message is published.
   * If `retain_acked_messages` is true, then this also configures the retention
   * of acknowledged messages, and thus configures how far back in time a `Seek`
   * can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
   * minutes.
   *

   *
   * .google.protobuf.Duration message_retention_duration = 8;
   */
  com.google.protobuf.DurationOrBuilder getMessageRetentionDurationOrBuilder();

  /**
   *
   *
   *

   * See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
   * managing labels</a>.
   *

   *
   * map<string, string> labels = 9;
   */
  int getLabelsCount();
  /**
   *
   *
   *

   * See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
   * managing labels</a>.
   *

   *
   * map<string, string> labels = 9;
   */
  boolean containsLabels(java.lang.String key);
  /** Use {@link #getLabelsMap()} instead. */
  @java.lang.Deprecated
  java.util.Map<java.lang.String, java.lang.String> getLabels();
  /**
   *
   *
   *

   * See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
   * managing labels</a>.
   *

   *
   * map<string, string> labels = 9;
   */
  java.util.Map<java.lang.String, java.lang.String> getLabelsMap();
  /**
   *
   *
   *

   * See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
   * managing labels</a>.
   *

   *
   * map<string, string> labels = 9;
   */

  /* nullable */
  java.lang.String getLabelsOrDefault(
      java.lang.String key,
      /* nullable */
      java.lang.String defaultValue);
  /**
   *
   *
   *

   * See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
   * managing labels</a>.
   *

   *
   * map<string, string> labels = 9;
   */
  java.lang.String getLabelsOrThrow(java.lang.String key);

  /**
   *
   *
   *

   * If true, messages published with the same `ordering_key` in `PubsubMessage`
   * will be delivered to the subscribers in the order in which they
   * are received by the Pub/Sub system. Otherwise, they may be delivered in
   * any order.
   *

   *
   * bool enable_message_ordering = 10;
   *
   * @return The enableMessageOrdering.
   */
  boolean getEnableMessageOrdering();

  /**
   *
   *
   *

   * A policy that specifies the conditions for this subscription's expiration.
   * A subscription is considered active as long as any connected subscriber is
   * successfully consuming messages from the subscription or is issuing
   * operations on the subscription. If `expiration_policy` is not set, a
   * *default policy* with `ttl` of 31 days will be used. The minimum allowed
   * value for `expiration_policy.ttl` is 1 day.
   *

   *
   * .google.pubsub.v1.ExpirationPolicy expiration_policy = 11;
   *
   * @return Whether the expirationPolicy field is set.
   */
  boolean hasExpirationPolicy();
  /**
   *
   *
   *

   * A policy that specifies the conditions for this subscription's expiration.
   * A subscription is considered active as long as any connected subscriber is
   * successfully consuming messages from the subscription or is issuing
   * operations on the subscription. If `expiration_policy` is not set, a
   * *default policy* with `ttl` of 31 days will be used. The minimum allowed
   * value for `expiration_policy.ttl` is 1 day.
   *

   *
   * .google.pubsub.v1.ExpirationPolicy expiration_policy = 11;
   *
   * @return The expirationPolicy.
   */
  com.google.pubsub.v1.ExpirationPolicy getExpirationPolicy();
  /**
   *
   *
   *

   * A policy that specifies the conditions for this subscription's expiration.
   * A subscription is considered active as long as any connected subscriber is
   * successfully consuming messages from the subscription or is issuing
   * operations on the subscription. If `expiration_policy` is not set, a
   * *default policy* with `ttl` of 31 days will be used. The minimum allowed
   * value for `expiration_policy.ttl` is 1 day.
   *

   *
   * .google.pubsub.v1.ExpirationPolicy expiration_policy = 11;
   */
  com.google.pubsub.v1.ExpirationPolicyOrBuilder getExpirationPolicyOrBuilder();

  /**
   *
   *
   *

   * An expression written in the Pub/Sub [filter
   * language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
   * then only `PubsubMessage`s whose `attributes` field matches the filter are
   * delivered on this subscription. If empty, then no messages are filtered
   * out.
   *

   *
   * string filter = 12;
   *
   * @return The filter.
   */
  java.lang.String getFilter();
  /**
   *
   *
   *

   * An expression written in the Pub/Sub [filter
   * language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
   * then only `PubsubMessage`s whose `attributes` field matches the filter are
   * delivered on this subscription. If empty, then no messages are filtered
   * out.
   *

   *
   * string filter = 12;
   *
   * @return The bytes for filter.
   */
  com.google.protobuf.ByteString getFilterBytes();

  /**
   *
   *
   *

   * A policy that specifies the conditions for dead lettering messages in
   * this subscription. If dead_letter_policy is not set, dead lettering
   * is disabled.
   * The Cloud Pub/Sub service account associated with this subscriptions's
   * parent project (i.e.,
   * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
   * permission to Acknowledge() messages on this subscription.
   *

   *
   * .google.pubsub.v1.DeadLetterPolicy dead_letter_policy = 13;
   *
   * @return Whether the deadLetterPolicy field is set.
   */
  boolean hasDeadLetterPolicy();
  /**
   *
   *
   *

   * A policy that specifies the conditions for dead lettering messages in
   * this subscription. If dead_letter_policy is not set, dead lettering
   * is disabled.
   * The Cloud Pub/Sub service account associated with this subscriptions's
   * parent project (i.e.,
   * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
   * permission to Acknowledge() messages on this subscription.
   *

   *
   * .google.pubsub.v1.DeadLetterPolicy dead_letter_policy = 13;
   *
   * @return The deadLetterPolicy.
   */
  com.google.pubsub.v1.DeadLetterPolicy getDeadLetterPolicy();
  /**
   *
   *
   *

   * A policy that specifies the conditions for dead lettering messages in
   * this subscription. If dead_letter_policy is not set, dead lettering
   * is disabled.
   * The Cloud Pub/Sub service account associated with this subscriptions's
   * parent project (i.e.,
   * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
   * permission to Acknowledge() messages on this subscription.
   *

   *
   * .google.pubsub.v1.DeadLetterPolicy dead_letter_policy = 13;
   */
  com.google.pubsub.v1.DeadLetterPolicyOrBuilder getDeadLetterPolicyOrBuilder();

  /**
   *
   *
   *

   * A policy that specifies how Pub/Sub retries message delivery for this
   * subscription.
   * If not set, the default retry policy is applied. This generally implies
   * that messages will be retried as soon as possible for healthy subscribers.
   * RetryPolicy will be triggered on NACKs or acknowledgement deadline
   * exceeded events for a given message.
   *

   *
   * .google.pubsub.v1.RetryPolicy retry_policy = 14;
   *
   * @return Whether the retryPolicy field is set.
   */
  boolean hasRetryPolicy();
  /**
   *
   *
   *

   * A policy that specifies how Pub/Sub retries message delivery for this
   * subscription.
   * If not set, the default retry policy is applied. This generally implies
   * that messages will be retried as soon as possible for healthy subscribers.
   * RetryPolicy will be triggered on NACKs or acknowledgement deadline
   * exceeded events for a given message.
   *

   *
   * .google.pubsub.v1.RetryPolicy retry_policy = 14;
   *
   * @return The retryPolicy.
   */
  com.google.pubsub.v1.RetryPolicy getRetryPolicy();
  /**
   *
   *
   *

   * A policy that specifies how Pub/Sub retries message delivery for this
   * subscription.
   * If not set, the default retry policy is applied. This generally implies
   * that messages will be retried as soon as possible for healthy subscribers.
   * RetryPolicy will be triggered on NACKs or acknowledgement deadline
   * exceeded events for a given message.
   *

   *
   * .google.pubsub.v1.RetryPolicy retry_policy = 14;
   */
  com.google.pubsub.v1.RetryPolicyOrBuilder getRetryPolicyOrBuilder();

  /**
   *
   *
   *

   * Indicates whether the subscription is detached from its topic. Detached
   * subscriptions don't receive messages from their topic and don't retain any
   * backlog. `Pull` and `StreamingPull` requests will return
   * FAILED_PRECONDITION. If the subscription is a push subscription, pushes to
   * the endpoint will not be made.
   *

   *
   * bool detached = 15;
   *
   * @return The detached.
   */
  boolean getDetached();

  /**
   *
   *
   *

   * If true, Pub/Sub provides the following guarantees for the delivery of
   * a message with a given value of `message_id` on this subscription:
   * * The message sent to a subscriber is guaranteed not to be resent
   * before the message's acknowledgement deadline expires.
   * * An acknowledged message will not be resent to a subscriber.
   * Note that subscribers may still receive multiple copies of a message
   * when `enable_exactly_once_delivery` is true if the message was published
   * multiple times by a publisher client. These copies are  considered distinct
   * by Pub/Sub and have distinct `message_id` values.
   *

   *
   * bool enable_exactly_once_delivery = 16;
   *
   * @return The enableExactlyOnceDelivery.
   */
  boolean getEnableExactlyOnceDelivery();

  /**
   *
   *
   *

   * Output only. Indicates the minimum duration for which a message is retained
   * after it is published to the subscription's topic. If this field is set,
   * messages published to the subscription's topic in the last
   * `topic_message_retention_duration` are always available to subscribers. See
   * the `message_retention_duration` field in `Topic`. This field is set only
   * in responses from the server; it is ignored if it is set in any requests.
   *

   *
   *
   * .google.protobuf.Duration topic_message_retention_duration = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];
   *
   *
   * @return Whether the topicMessageRetentionDuration field is set.
   */
  boolean hasTopicMessageRetentionDuration();
  /**
   *
   *
   *

   * Output only. Indicates the minimum duration for which a message is retained
   * after it is published to the subscription's topic. If this field is set,
   * messages published to the subscription's topic in the last
   * `topic_message_retention_duration` are always available to subscribers. See
   * the `message_retention_duration` field in `Topic`. This field is set only
   * in responses from the server; it is ignored if it is set in any requests.
   *

   *
   *
   * .google.protobuf.Duration topic_message_retention_duration = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];
   *
   *
   * @return The topicMessageRetentionDuration.
   */
  com.google.protobuf.Duration getTopicMessageRetentionDuration();
  /**
   *
   *
   *

   * Output only. Indicates the minimum duration for which a message is retained
   * after it is published to the subscription's topic. If this field is set,
   * messages published to the subscription's topic in the last
   * `topic_message_retention_duration` are always available to subscribers. See
   * the `message_retention_duration` field in `Topic`. This field is set only
   * in responses from the server; it is ignored if it is set in any requests.
   *

   *
   *
   * .google.protobuf.Duration topic_message_retention_duration = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];
   *
   */
  com.google.protobuf.DurationOrBuilder getTopicMessageRetentionDurationOrBuilder();

  /**
   *
   *
   *

   * Output only. An output-only field indicating whether or not the subscription can receive
   * messages.
   *

   *
   *
   * .google.pubsub.v1.Subscription.State state = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];
   *
   *
   * @return The enum numeric value on the wire for state.
   */
  int getStateValue();
  /**
   *
   *
   *

   * Output only. An output-only field indicating whether or not the subscription can receive
   * messages.
   *

   *
   *
   * .google.pubsub.v1.Subscription.State state = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];
   *
   *
   * @return The state.
   */
  com.google.pubsub.v1.Subscription.State getState();
}


text:
layout: post
title: Becoming Steve Jobs
date: Mar 29, 2015, 10:09 AM
summary: Today I finished reading Becoming Steve Jobs
categories: books
---

![Becoming Steve Jobs](http://austinmoody.org/i/melange_becomingstevejobs_2015-03-30-095253.png)

Today I finished reading *[Becoming Steve Jobs](http://en.wikipedia.org/wiki/Becoming_Steve_Jobs)* by Brent Schlender and Rick Tetzeli.

This bio of Jobs was *much* more enjoyable to me than the one by Isaacson, it was hard to put down.